Industry News, Trends and Technology, and Standards Updates

North America Information & Control Committee Fall 2023 Update

Posted by Brian Rubow: Director of Solutions Engineering on Nov 30, 2023 12:32:00 PM

Background

The SEMI North America, the Information & Control Committee meets three times per year; spring summer and fall. This year the fall meetings were held on November 6, 7 and 8, 2023 at SEMI headquarters in Milpitas, CA. The meetings include task forces with leaders from Cimetrix on the GEM 300, ABFI (Advanced Backend Factory Integration), GUI, DDA, CDS task forces as well as the committee meeting on the final day which was held on Thursday instead of the typical Wednesday. This is a summary of what happened in the task forces I am highly involved in including GEM 300, ABFI and DDA. The recent voting cycle included 22 ballots—the most ballots in one voting cycle that we have seen for a very long time.  

Note that all ballots that pass in the committee are still subject to a final review by the global SEMI Audit & Review committee, where a ballot can still fail when proper SEMI procedures and regulations are not strictly followed. 

GEM 300 Task Force

A lot is going on the GEM 300 task force. The following SEMI standards were reapproved: E39 and E39.1. Reapprovals occur every 5 years else a standard becomes inactive.  

Ballot 7066A proposed changes to the SEMI E87 Carrier Management Services (CMS) standard. This ballot failed previous voting, but now time passed as a ‘superclean’ ballot (no negatives or comments during voting). This ballot included a significant change to the Carrier Ready to Unload Prediction feature which is now called a Carrier Complete Prediction. Anyone who implemented Carrier Ready to Unload Prediction will have to make a lot of changes to comply with the new implementation. A primary driver for this change is to accommodate internal buffer equipment where the READY TO UNLOAD state depends on when the host sends a CarrierOut message and the queue of previously requested activities; therefore, not a useful prediction to make. 

SEMI-Fall-2023-pic1

The benefit of this new state model is to notify the factory host before a carrier is completed so that the automatic delivery can be scheduled to arrive for pickup when the carrier is ready. This can shorten the time it takes for the factory to move material from one equipment to the next. 

Seven similar ballots 7114, 7115, 7116, 7117, 7118, 7119 and 7120 were submitted respectively for standards E5/E30, E40, E87, E90, E94, E116 and E157 to define a ‘well-known name’ for each require collection events, variables and alarms. The ‘well-known’ names are aliases for mapping purposes; necessary because each implementation can use different names. The ultimate goal of this feature is to make the GEM and standards based on GEM more plug-and-play. This new feature serves at least two purposes. Standard E172 already defines a well-known name attribute in the SECS Equipment Data Dictionary (SEDD) file. In the Equipment Data Acquisition (EDA) standard freeze 3 version, E164 will use this well-known name as well. The regular GEM documentation can also reference the well-known name. To explain the value of this feature, E90 requires a collection event for Substrate Location State Model transition 1. Implementers might define this collection event using any name such as E90_Loc_Unoccupied2Occupied, SLTrans1, SubstrateLocationUnoccupiedToOccupied or CollectionEvent901. Any name is allowed. The new well-known name establishes a standardized alias name called the well-known. 

SEMI-Fall-2023-pic2

When ballot 7117 is published, the well-known name table establishes well-known name “E90:SubstrateLocation:001:Unoccupied-Occupied” as the standardized alias for this collection event. This SEDD file can be downloaded through the GEM interface, tell the GEM host exactly which collection event implements the Substrate Location State Model transition 1. During the Information & Control Committee, ballot 7117 resulted in a Ratification ballot handling a long existing E90 naming issue for one status variable. All of the other ballots passed with a simple editorial change. 

A few of the above well-known name ballots included additional line items to resolve issues in the respective standard, mostly editorial or minor. Ballot 7114 included an E5 clarification that Stream 21 Function 17/18 sequence can be aborted by the receiving entity with an S21F0 message. Ballot 7116 included several additional changes/corrections to E87. 

1.    Clarification on the CARRIER SLOT MAP STATUS state SLOT MAP VERIFICATION FAILED, which sometimes was spelled in E87 without the ‘ED’ in FAILED. 
2.    Corrections to Table R1-21 in the table heading.

SEMI-Fall-2023-pic3

3.    Carrier object attribute Capacity can now be format code 51, 52 or 54, increasing the allowed carrier size from 255 to 4.29 GB to accommodate carriers not holding wafers but smaller substrates. 
4.    Carrer state model transition 7 includes a new trigger as already described scenario R1-21. 
5.    Scenario R1-20 was reverted to its original design, undoing an error introduced in 2012

6.    And finally, equipment constant BypassReadID was added to E87.1. This equipment constant has been defined in E87 but missing in E87.1

Ballot 9836 proposed some synchronized changes in E87 and E90 to define new name/value pair attributes. The ballot failed due to some limiting details in the value format definition. The ballot intends to allow equipment and factory to agree to using additional substrate content and characteristic information.

The Japan GEM 300 task force is working on improving the GEM E30 standard. The task force proposed a number of minor improvements mostly editorial to clean up several areas with the specification. Although the work was originally proposed to occur in the North America group, the task force decided to handle this ballot in Japan who will meet in December of 2023. Of course, the regional GEM 300 task forces worldwide all share and vote together on all E30 ballots.

DDA (Diagnostics Data Acquisition) Task Force

The DDA task force reapproved three standards: E128, E138 and 145. Additionally, the DDA task force made more plans to complete the Equipment Data Acquisition (EDA) freeze 3 version. Here are the key activities and findings as of today:

  • E164 will be modified to incorporate the well-known names from the GEM 300 force. Instead of including all GEM 300 standards directly in the E164 primary standard, each GEM 300 standard will have a smaller, simpler E164 subordinate standards (E164.1, E164.2, …) to define the EDA implementation for that standard. This strategy makes adopting EDA and E164 more flexible to use in industries beyond semiconductor front end equipment.
  • Some errors were found in the published .proto files for E132 and E134. New ballots will be submitted as soon as possible to make corrections.
  • A software vendor test #2 will be held immediately following the North America Information & Control Spring meetings. Anyone implementing client and/or server software is invited to attend. Instead of testing for standard compliance, the purpose of the vender test is to test interoperability and flush out any remaining issues in the EDA freeze 3 standards. This software vender test session #2 will focus on previously untested E132 features from software vender test session #1 and will also include E125 tests. Anyone interested in joining should contact me (Brian Rubow) or Albert Fuchigami (Brian’s co-leader). Prior to the software vender test session, the task force co-leaders will provide a test plan document and .proto files with corrections in E132 for known issues.
  • A software vender test session #3 will be held immediately following the North America Information & Control Summer meetings held in conjunction with SEMICON West. This test session will focus on E134 testing. 

ABFI (Advanced Backend Factory Integration) Task Force

Ratification ballots R2924A and R6925A both passed. This means that the new Consumables and Durables standard is in the SEMI publication queue. 

Additionally, ballot 6948 passed with several great improvements to the E142 substrate mapping standard. The improvements should help users better understand how to use the E142 schema files for more consistent adoption by implementers. 

Spring 2024

The next North America Information and Control spring meetings will be held again at SEMI headquarters in Milpitas, California. The dates will be March 25-27, 2024. Although many attendees were remote during these meetings, I expect many more attendees to be in person at these spring meetings due to the EDA software vender test session.  

To learn more about the SEMI Standards and the work we do as members of SEMI, please click the button below.

Contact Us

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

Custom GUI Plug-In in EquipmentTest

Posted by Megha Manoj on Sep 14, 2023 10:45:00 AM

The Cimetrix EquipmentTest software product provides a feature for creating a user interface which can be thoroughly customized according to user preferences. The user interface is created as a user control in Microsoft Windows Presentation Framework (WPF) using the standard .NET Integrated Development Environment, and appears as a separate tab following the default “Tests” tab in EquipmentTest. The tab header can also be customized to fit different testing scenarios. Note that the EquipmentTest Pro version is required to develop a customized GUI tab in any plug-in.

This feature is useful for a variety of user types. For instance, factories can run tests back to back on their equipment and use the custom GUI feature to save the output logs as separate files on the system to efficiently identify failed cases. Equipment manufacturers can use this feature to customize their test scenarios and analyze results in a way that enables the comparison of previous test output data to the latest results. Other user types may imagineer all sorts of additional possibilities, making EquipmentTest a truly versatile tool. 

How To Add a Custom GUI Tab To a Plug-in

One can either override or append to the OtherTabs property of the PluginBaseModel class to add as many GUI tabs as needed. The examples below include code snippets for both cases.

Custom-GUI-pic1Custom-GUI-pic2

The following image shows a general plug-in with two GUI tabs in which the custom GUI has been modified to contain a single button.

Uses for Customized GUIs in a Plug-In

The following paragraphs discuss two elegant uses for customized GUIs in EquipmentTest.

Duplicate a Different Control Panel

If you are a new user of EquipmentTest, you can use the custom GUI feature to recreate familiar interfaces from other test systems. Since the GUI is developed in WPF, you have a great deal of flexibility and control over the layout and operation of the GUI. This means that the tests can be modified to be run according to  specific user selections, and/or additional information specific to the chosen tests can be included on the GUI. For instance, logs can be modified to include more detail than is currently shown on the default screen.

The following Images show the TESTConnect user interface and its recreated GUI on EquipmentTest. Of course, it is not an exact replica, but most of the original functionality can be supported, and with some effort, the GUI could be modified to become an exact match.

Custom-GUI-pic3Custom-GUI-pic4

Compile On the Fly

The EquipmentTest custom GUI feature enables use of the compile-on-the-fly capability of .NET. If you can dynamically write and run test code, tests scenarios can be changed without editing, rebuilding, and loading the plug-in each time a change is required. this results in a faster and more efficient testing process.

The “Compile” method defined below takes in the test code to be run as a parameter. It is then compiled to create a DLL library with the required references. Any compilation errors are written to a designated TextBox on the GUI through the event handler “WriteLog”.

Custom-GUI-pic6

The following image is a GEM plug-in with an additional custom control panel for dynamically running code. The TextBox is dedicated for writing code, and the various buttons are used to control the testing procedures. This example is part of a project that supported direct execution of TESTConnect scripts in EquipmentTest.

The first task was creating a console application to generate an XML file containing the converted C# test code of the TESTConnect script to be passed as the argument. The next task was developing an EquipmentTest plug-in that loads the XML file and displays each script as a separate test on the example GUI shown below. This example is designed to support any number of tests, and new tests can be added using the “New” button. In this way, you can directly write code to send messages and check to see if the reply message is the expected one. The example also defines wrapper methods to reuse this messaging code and thereby speeding the development process for similar use cases. Console output can be redirected to text boxes designated for logging, and wrapper methods can be defined to log message details. Although this feature effectively enables scripting in EquipmentTest, there are a few drawbacks that must be addressed. Whenever you need to use a new API method, you must add the reference to the required library in the plug-in, rebuild and load it again to continue testing. A good solution is a 'Save' button which allows you to create an XML file similar to the one you initially loaded with the current changes so you can directly load it after adding the library references. Another issue is that the aesthetic feel code written in Visual Studio will differ from that of the text boxes in EquipmentTest.

However, the overall picture is bigger than what I have explained here. You can customize EquipmentTest to run your tests in any way you prefer. If you need more space to write your test code, you can edit the test code in a C# file stored on your computer and directly run it from EquipmentTest. You may or may not display the code on a text box on the EquipmentTest GUI. Moreover, you can also save the generated output logs in a local file as well. It is up to you to further explore this feature.

Custom-GUI-pic5

Conclusion

In the previous paragraphs, we explained what a custom GUI plug-in is and how to access it with a dedicated GUI tab. This is a powerful capability that opens up a wide range of possibilities for all the users of EquipmentTest. We highly recommend that you explore this feature and puttit to good use to increase your testing productivity while reducing the overall effort to achieve results. The EquipmentTest documentation is a great source of additional information, and we sincerely hope we’ve convinced you to give it a try!

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Equipment Control-Software Products, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

CIMControl Framework GEM Interface Custom Message Handling

Posted by Lin Chen on Sep 5, 2023 4:21:00 PM

Process Recipe Management Custom Message Handling

Process Recipe Management provides a means to transfer process specifications and to share the management of these specifications between the host and the equipment. CCF provides GEM-compliant Process Recipe Management through class RecipeHandler which handles Steam 7 functions used for formatted and unformatted process programs. In some cases, CCF users may want to implement equipment-specific recipe handling, which can be done by extending the methods of RecipeHandler. For example, to customize host-initiated S7F5 for a recipe to be uploaded from the equipment, create a subclass MyRecipeHandler from RecipeHandler, and override the RecipeRequest method.

CCF-Custom-Msg-pic1

Follow this same approach to use the customized message handling class properly: before creating the FactoryAutomationServer, create a CimConnectServices and assign it to the CimConnectServices instance. Then create the custom message handling class MyRecipeHandler and assign it to the corresponding property on the CimConnectServices.Instance.

CCF-Custom-Msg-pic2

Custom SECS-II Message Handling

CCF provides a mechanism that enables the equipment’s GEM interface to support any SECS-II messages. These can be additional SECS-II messages defined in the SEMI E5 standard but not supported by CCF, and/or they can be custom SECS-II messages defined by and required by the end user or by the equipment supplier. For example, if a user wants to handle a custom message S100F1, they can create a subclass CustomMessageHandler and let it implement the IGemHandler interface, and then initialize it by overriding the Initialize method of CIMConnectServices.

CCF-Custom-Msg-pic3CCF-Custom-Msg-pic4CCF-Custom-Msg-pic5

To learn more about GEM interface custom message handling, please schedule a time to talk with a Cimetrix representative by clicking the button below.

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Equipment Control-Software Products, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

How to Dynamically Generate ECVs in a CIMControlFramework Implementation

Posted by Anderson Kim; Solutions Engineer on Aug 23, 2023 10:30:00 AM

This blog explains an approach that Cimetrix CIMControlFrameworkTM (CCF) developers can use to dynamically generate ECVs (EquipmentConstant Variables) in source code as a convenient, effective alternative to including them in the default configuration file.

When implementing the GEM interface for equipment, it is often necessary to define EquipmentConstant Variables (ECVs). If the GEM interface is part of a CCF-based equipment control system, you would normally define the ECVs in the Equipment.epj file. However, registering the ECVs with this approach can take a lot of effort in a number of situations. Among them:

  • When you need to register hundreds or even thousands of ECVs;
  • When you need to dynamically register ECVs based on the specific configuration of an instance of the equipment;
  • When you want to register ECVs without changing the EPJ file.

In these cases, dynamically generating the ECVs from the source code easily addresses these challenges.

The rest of this posting briefly shows you how to accomplish this, and how to change and monitor the values of ECVs.

How to generate ECVs programmatically 

After calling ecs.Start() inside Supervisor's Run(), the code sample below generates an ECV.

What you need to be most careful about here is that the ecid and ECV’s name should not be duplicated with other VIDs.

ECV-pic1

Then you can see the newly generated ECV  in the Equipment Constants screen of the OperatorInterface.

ECV-pic2How to change the value of an ECV

The ECV’s value can be updated  through FactoryAutomationServer using the code below.

ECV-pic3

You can then see a message that the ECV’s value has been changed.

ECV-pic4

How to detect the ECV’s value change

If you want to detect changes to the ECV’s value, you can receive a callback  by registering ValueChangedHandler as shown in the code sample below.

ECV-pic5ECV-pic6To Summarize:

  • You can dynamically generate an ECV by calling CreateVariable of CIMConnect;
  • You can change the value of an ECV by calling SetEquipmentConstants of FactoryAutomationServer;
  • You can detect changes in the value of the ECV by calling RegisterValueChangeHandler of CIMConnect.

All are helpful solutions for CCF developers who need to generate ECVs dynamically.

To learn more about this solution and other CCF programming best practices, please schedule a time to talk with a Cimetrix representative.

Contact Us

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Equipment Control-Software Products, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

North America Information & Control Committee Summer 2023 Update

Posted by Brian Rubow: Director of Solutions Engineering on Aug 9, 2023 10:15:00 AM

Background

At SEMI in North America, the Information & Control Committee meets three times per year; spring summer and fall. This year the summer meetings were held on July 10, 11 and 13 in conjunction with SEMICON West is San Francisco, CA. The meetings include task forces with leaders from Cimetrix on the GEM 300, ABFI (Advanced Backend Factory Integration), GUI, DDA, CDS task forces as well as the committee meeting on the final day which was held on Thursday instead of the typical Wednesday. This is a summary of what happened in the task forces I am highly involved in including GEM 300, ABFI and DDA as well as some updates from SEMI.

Note that all ballots that pass are still subject to a final review by the global SEMI Audit & Review committee, where a ballot can still fail when proper SEMI procedures and regulations were not strictly followed.

SEMI

A few changes are happening at SEMI. SEMI is planning to start publishing ‘red-line’ versions of the SEMI standards. Today, when a new version of a SEMI standard is published, it includes change bars on the side to indicate where changes have occurred. The changed section can then be compared with the previous publication to see what changed. While this is helpful to readers, the planned ‘red-line’ versions will identify precise changes using redline strikethrough and underlining to identify the changes. This is a big benefit to the standards community. I look forward to seeing this new feature.

SEMI is planning to add additional digital enforcement to the SEMI standard documents to help enforce SEMI’s copyright to the standards. This should help curb some of the copyright abuse. Every company implementing or using the SEMI standards should have at least one subscription to SEMIViews, https://www.semiviews.org/.

SEMI has hired another technical writer to help keep SEMI standard publication up to date. Recently, the growing queue of standards awaiting publication has affected SEMI standards development. For example, this has caused delays in the DDA task force developing EDA Freeze 3. In the last 9 months, SEMI has already reduced the publication queue substantially and is committed to catching up early in 2024.

GEM 300 Task Force

A lot is going on the GEM 300 task force.

Ballot 7065, an update to the SEMI E172 passed nearly super-clean. SEMI E172, SPECIFICATION FOR SECS EQUIPMENT DATA DICTIONARY (SEDD) defines the XML schema for documenting a GEM interface. Recently the GEM standard was updated to allow transfer of a SEDD file through the GEM interface using Stream 21 messages. Ballot 7065 adds a few new features and changes to the schema files. The most important changes are names for alarms and a ‘well-known’ element to all collection events, variables, and alarms. This ‘well-known’ element is meant to contain a standardized alias so that end users can automatically map an implementation to required items in the SEMI standards. To capitalize on the new E172 ‘well-known’ feature, new ballots were approved to modify E5/E30, E40, E87, E90, E94, E116 and E157 to include standardized ‘well known’ names. These ballots are expected to be completed in time for cycle 7 voting this year.

Ballot 7066 proposed changes to the SEMI E87 Carrier Management Services (CMS) standard. This included a significant change to the new Carrier Ready to Unload Prediction feature. The primary driver for this change is to accommodate internal buffer equipment where the READY TO UNLOAD state depends on when the host sends a CarrierOut message and can be drastically impacted by the carrier-out queue. The ballot proposes to use CARRIER COMPLETE prediction instead, which can be universally applied both fixed buffer and internal buffer equipment. The change has little impact on fixed buffer equipment, where the time between CARRIER COMPLETE and READY TO UNLOAD is typically short and a fixed time. Unfortunately, this line item in the ballot needs some rework before it is ready for acceptance.

The other line items in ballot 7066 passed including a clarification to the ContentMap behavior and an update to the CMS compliance statement. Two requirements related to the ContentMap were in contradiction to each other affecting the ContentMap value when a carrier object is instantiated. The clarification allows the ContentMap to either be an empty list or a structured list of empty lot and substrate ID information. The change only affects the initial value. The compliance statement change adds the missing “Access Mode State Model” to the compliance statement so implementers can declare whether this feature is implemented and compliant.

Ballot 6991 also passed as super-clean (no negative votes) to update SEMI E4 SEMI Equipment Communications Standard 1 Message Transfer (SECS-I). The update removes biased terminology to be compliant with recently updated SEMI regulations. No technical changes were made.

ABFI (Advanced Backend Factory Integration) Task Force

New proposed standards for Consumables and Durables (ballots 6924A and 6925A) both will require Ratification ballots. This means that a few technical changes need to be made for the new standards to be accepted. Ratification ballots R6924A and R6925A will be submitted in the next voting cycle with those technical changes. If this passes, then the new standards will be published. If it fails, then the ballots will be reworked for another voting cycle.

DDA (Diagnostics Data Acquisition) Task Force

The DDA task force meeting was relatively quiet and uneventful for the first time in years while the task force waits for accepted ballots to be published including updates to E125/E125.2, E134/E134.2, and E120.2. No ballots were adjudicated. Ratification ballot R7002 for SEMI standards E132 and E132.2 passed in the voting cycle 4. Meanwhile new versions of E121 and E179 were published by SEMI in April and June, respectively.

Next steps for the DDA task force include updating E164 and planning a ‘vendor test session’. The E164 update is tied to the GEM 300 ‘well-known’ feature mentioned above, where the E164 names and IDs will be synchronized with the aliases added to the GEM 300 standards. The vendor test session is planned to occur during Spring 2024. Any company wishing to participate to validate EDA client or server software against other implementations is welcome. Participants will run through a small set of E132 scenarios, E125 scenarios and E134 scenarios to validate the current standards. Any issues found during this testing will be quickly resolved so that an EDA freeze 3 version can finally be declared. The task force leaders plan to share a test plan before Fall meetings to help everyone prepare.

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

Introducing the "GEM OPC Connector" Application

Posted by Mark Bennett; Client Support Engineer on May 9, 2023 11:15:00 AM

If you’ve ever wondered how to implement the SEMI E30 GEM (Generic Equipment Model) communications standard in a PLC-based equipment control system, read on – this posting is for you!

What problem does the GEM OPC Connector Application solve?

The Cimetrix CIMConnect product provides a software library that equipment suppliers in a wide range of manufacturing industries use to integrate the GEM standard into their equipment control systems and associated applications. These applications are typically written in C#, VB.NET, or C++, which must run on a Microsoft Windows operating system.

This solution works great for equipment controllers that run on Windows, but what about equipment that does not use a Windows-based control system? In particular, some equipment controllers are PLC based and therefore cannot use the CIMConnect libraries directly. What then? The GEM OPC Connector application very effectively addresses this specific situation.

GEM OPC Connector Application Description

The screenshot below shows the GEM State Settings and current status of a GEM interface implemented by the GEM OPC Connector application. 

GEM_OPC_Connector_Pic1

The GEM OPC Connector is provided as a CIMConnect sample application. Several of our customers have used it to implement a GEM interface for their PLC-based equipment applications. Since it runs on the same computer as CIMConnect, it requires a Windows operating system, but thankfully, most equipment types that have PLC-based controllers also have a Windows computer somewhere in the overall control system. For example, the HMIs (Human-Machine Interfaces) on much of this equipment run on Windows computers and use OPC UA (or OPC Classic) to share data between the HMI and PLC controllers. In this configuration, CIMConnect and the GEM OPC Connector application can be installed on the HMI Windows computer and connect to the same OPC UA server that the HMI uses (see the block diagram below). Of course, if the equipment controller does not already have a Windows computer, one would have to be added to the controller to use this solution.

GEM-OPC-Connector-Diagram-1

How Does it Work?

The GEM OPC Connector application is both a CIMConnect application and an OPC client. GEM features are supported by CIMConnect and variables defined in the OPC server can be used to invoke method calls in CIMConnect or to receive notifications from CIMConnect. OPC variables can be used to:

  1. Update status variables (SVIDs) and equipment constants (ECIDs)
  2. Trigger collection events (CEIDs)
  3. Set or Clear alarms.
  4. Receive notification of remote commands from the host.
  5. Invoke custom methods. For example, there are pre-defined methods to:
    1. Set the Offline/Online switch,
    2. Set the Local/Remote switch,
    3. Enable/Disable GEM communication with the host,
    4. Change the GEM communication settings.

As OPC UA tags  are updated by the PLCs or the HMI, the GEM OPC Connector monitors these tag value changes and calls the appropriate methods in CIMConnect depending on the function of each OPC UA tag.

Data updates and control signals can go in the opposite direction as well. For example, when the host sends a remote command to the equipment, the GEM OPC Connector handles the remote command by updating the OPC UA tags associated with that remote command’s parameters and setting a Boolean OPC UA tag value to “True” to notify the PLC-based control application that a remote command has been invoked by the host.

An XML configuration file defines the various types of links between OPC UA tags and GEM artifacts. Each link describes a specific function and provides the additional information needed to perform that function. The following sections give examples for several common link types.

Variable Links

Variable links are used to keep GEM variables and OPC UA variables in sync.  The links look like this in the XML file:

GEM_OPC_Connector_pic3This example links the GEM EstablishCommTimeout equipment constant (VID = 4000) to an OPC UA tag = “Channel1.Device1.Standard ECs.EstablishCommTimeout”. Since equipment constants can be updated by the operator or by the host, the Direction attribute is “Both”.

Alarm Links

Alarm links are used to Set and Clear GEM alarms. Alarm links look like this in the XML file:

GEM_OPC_Connector_pic4This example links a GEM alarm (ALID = 20045) to a Boolean OPC UA tag = “Channel1.Device1.Alarms.PMTempTooHigh”.  The PLC software sets this value when an alarm state changes. The GEM OPC Connector monitors this tag for any value changes, and calls the SetAlarm() or ClearAlarm() methods in CIMConnect to update the associated alarm state accordingly.

Event Links

Event links are used to trigger GEM collection events. Event links look like this in the XML file:

GEM_OPC_Connector_pic5This example links a GEM collection event (CEID = 5000) to a Boolean OPC UA tag = “Channel1.Device1.Events.LoadLockDoorOpened”. The GEM OPC Connector monitors this tag for any value changes, and when the value changes from 0 to 1, it calls a method in CIMConnect to trigger the associated event.

Remote Command Links

Remote command links are used to notify the PLC equipment application of a remote command initiated by the host. Remote command links look like this in the XML file:

GEM_OPC_Connector_pic6This example links the GEM “PP-SELECT” remote command to the Boolean OPC UA Tag = “Channel1.Device1.RemoteCommands.PP-SELECT”. Parameter values are optional. In this case there is a single parameter linked to OPC UA tag = “Channel1.Device1.RemoteCommands.PP-SELECT_PPID”. When the host sends the PP-SELECT remote command using S2F41 “Host Command Send”, the GEM OPC Connector handles the message as follows: if the value of the Processing State is such that the equipment can accept this remote command, the parameter value will be updated first, and then the PP-SELECT value will be set to ”True” to notify the PLC application that the remote command was invoked.

Method Links

Method links are used to invoke custom methods in the GEM OPC Connector itself. Several pre-defined methods are available, and custom methods can be added, but the latter requires source code changes to the GEM OPC Connector application. Method links look like this in the XML file:

GEM_OPC_Connector_pic7

This example links the method named “PPChange” to the Boolean OPC UA tag = “Channel1.Device1.Methods.PPChange”. Methods may have parameters, and in this case, there are two parameters linked to OPC UA tags: one for the Process Program name that has changed, and another to describe the type of change that was made (Create, Edit, or Delete). To invoke this method, the PLC should first update the parameter values and then change the PPChange OPC UA tag value from 0 to 1 to notify the GEM OPC Connector that the method has been invoked. The GEM OPC Connector then looks for the method by name and executes the code.  In this example, it would update the GEM data variables PPChangeName and PPChangeStatus and trigger the PPChange collection event.

Conclusion

This quick overview of the GEM OPC Connector application is intended to pique your interest in this capability and prompt you to contact us to find out how much more there is to be learned. If you think the GEM OPC Connector might be right for you, reach out to us by clicking the button below for a demo !

Contact Us

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Doing Business with Cimetrix, Smart Manufacturing/Industry 4.0, Cimetrix Products, Standards

Exploring the Highlights of What's New With Cimetrix CIMControlFramework (CCF)

Posted by Derek Lindsey: Product Manager on Aug 30, 2022 11:45:00 AM

What’s new with CIMControlFrameworkTM (CCF)?

CCF is a software development kit (SDK) that enables users to design and implement a high-quality equipment control solution using provided components for supervisory control, material handling, operator interface, platform and process control, and automation requirements. CCF is built on the reliable Cimetrix connectivity products which provide GEM/GEM300/EDA interface functionality.

We released CCF 6.0 in March of 2021. Since that time, we have released four additional versions of CCF. In CCF 6.1 we added a continuous flow sample. We created a blog post for that sample that can be read here. We thought it would be fun to create another blog to keep readers up to date on some of the additional cool things that have been added to CCF in these subsequent releases.

GUI Changes

Many of the visible changes to CCF have been made in the operator interface.

New WPF OI for vacuum sample

The trend for most of our CCF customers has been to implement their equipment control application GUI using Windows Presentation Foundation (WPF). In previous releases, CCF had fully functional WPF GUIs for the Atmospheric and Continuous Flow samples. CCF now has a full WPF operator interface for the Vacuum Sample. The picture below shows the default main screen for the WPF GUI for the Vacuum Sample.

Op-interface-CCF-whats-newNew visualization library

In addition to full operator interfaces created with WPF, a visualization library has been added to CCF. In previous versions, visualizations were achieved using bitmaps that were updated when states changed. While the results were adequate, they did not scale very well, and it was difficult to customize the visualizations. The new visualization library uses vector graphics to draw the visualizations. This makes the lines and images in the visualizations crisp and clear regardless of the scale. It also allows for easy customization so that CCF application developers can create a visualization to exactly match their equipment. The Developer Guide and training labs have instructions for using the new visualization library.

The picture of the full GUI main screen above shows the default visualization for the vacuum sample. The following image is a visualization from the continuous flow sample.

Continuous-flow-CCF-Whats-newBoth visualization examples were created with the same visualization library.

Additional GUI changes

In addition to the GUI changes listed above, Cimetrix has made more changes to the GUI and added new screens for both WinForms and WPF. These screens include:

  • GEM300 E39 objects screen
  • GEM Traces screen
  • GEM Reports screen
  • EFEM Robot service screen
  • Aligner Service screen

Simulation Changes

Cimetrix has always been a proponent of using simulators as much as possible during equipment control application development and testing. (See blog post on simulation here.) Simulation in CCF has always been easy to use, but now it is even easier and has more functionality. Simulators should be interchangeable with hardware so that regardless of whether you are running against simulation or real hardware, the application makes the same calls and receives the same feedback. In the latest versions of CCF, Cimetrix has:

  • Added simulation for Kawasaki D60 robot
  • Added simulation for TDK TAS300 LP
  • Made simulation more extensible
  • Added simulation templates

Efficiency Changes

A change that is not very flashy but is probably one of the most important changes made to CCF is that the efficiency has been greatly improved. While CCF has never been a resource hog, there were some instances where it was using more CPU and memory than was needed. This was the case especially when GUI screens were being updated with large amounts of data.

In these instances, a data structure dealing with material locations and another dealing with process and control job data were being sent from the supervisory layer to the GUI more frequently than was needed. By being more intelligent about sending these data structures, we have greatly reduced the CPU usage.

Another change that has reduced CPU usage and data traffic is that the user can now set up trace reports to the GUI that are only sent when data changes rather than on a 10 Hz timer.

Additionally, CCF now has a performance monitor class that allows users to monitor performance counters like CPU, Disk usage, and memory usage.

CCF provides history objects for storing certain data to a database. This history includes:

  • Wafer history
  • Equipment Performance Tracking (EPT)
  • Alarms

As a final efficiency enhancement, these objects now share a base class and are more efficient in writing to the database.

Interlocks

Software interlocks are designed to prevent executing an unsafe command. Using multiple levels to do safety checks provides redundancy and reduces the chance an unsafe command could be executed.

Puzzle-pieceThese interlocks are generally based on states and are equipment-dependent. Software interlocks are not a replacement for hardware interlocks. Software interlocks are like a safety net—they are not normally needed, but when they are, there is a much lower risk of damage.
CCF has previously had interlock functionality available. However, in the latest release, the interlock functionality has been consolidated, centralized, and simplified. Using a single interlock class gathers all the interlock code into one location instead of scattering interlock code through all the Components.

Interlocks have been added to each of the CCF samples to show how they work and how they could be implemented in your application.

Conclusion

These are just some of the cool and useful features that have been added to CCF in the last two years since the release of CCF 6.0. To learn more about these features or the other new features that have been added, please schedule a time to talk with a Cimetrix representative.

Contact Us

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Doing Business with Cimetrix, Smart Manufacturing/Industry 4.0, Cimetrix Products

A New Benefit for our CIMConnect Customers: Training Videos Available Now

Posted by Brian Rubow: Director of Solutions Engineering on Nov 24, 2021 11:45:00 AM

Background

Cimetrix CIMConnectTM customers enjoy many benefits to maintaining an active support contract, and today we are announcing yet another one: access to a set of product-specific training videos.

A few years ago, the Solutions Engineering team at the Cimetrix Connectivity Group posted product training material including the full set of CIMConnect training PowerPoint presentations to facilitate self-training for those unable to attend a formal session. We update this repository periodically as the training material is revised and improved. The material is available online through the Customer Portal. After logging in, you can find the presentations here:

CIMConnect-training-videos-pic1

Training Videos

To complement the presentation material shown above, the Solutions Engineering team is now creating video training material. As of mid-June, 2021, the first set of training videos for CIMConnect is also available via the customer portal (see below).

CIMConnect-training-videos-pic2

By clicking on the “CIMConnect Video Library”, you can see full set of available training videos and access them via this table:

CIMConnect-training-videos-pic3

The material is organized by topic, such as Collection Events or Status Variables. Each topic is subdivided into one or more instruction parts. When there is a lab, the implementation of the lab is covered twice. First, the implementation of the lab is reviewed and demonstrated in CIMConnect’s “Getting Started” sample application. Second, the lab is implemented step by step from scratch in a new application.

A few of the training PowerPoint presentations are not yet complete but should be available soon. This includes topics like Remote Commands, Equipment Constants, Factory Setup, and Operator Interface. Solutions Engineering plans to expand the training to other products as well.

Also, note that other videos are also available that go beyond the scope of the training material. These are found on the same “CIMConnect Video Library” page at the bottom.

Customers are welcome to purchase CIMConnect training and/or consulting services at any time. The training material described above is not a substitute for working directly with a product and standards expert, where a customer can discuss specific equipment hardware, software architecture, and unique customer requirements. Nevertheless, this material should help our customers when they need a refresher course and especially when new employees are assigned to work with CIMConnect after its initial development.

Topics: Industry Highlights, SECS/GEM, Semiconductor Industry, Smart Manufacturing/Industry 4.0, Cimetrix Products

Continuous Flow Sample Added to Cimetrix CIMControlFramework

Posted by Derek Lindsey: Product Manager on Oct 27, 2021 11:14:00 AM

Cimetrix CIMControlFramework™ (CCF) is a software development kit (SDK) that enables users to design and implement a high-quality equipment control solution using provided components for supervisory control, material handling, operator interface, platform and process control, and automation requirements. CCF is built on the reliable Cimetrix connectivity products which provide GEM/GEM300/EDA interface functionality.

See previous series of blog posts on the functionality of CCF here.

While CCF does provide a built-in interface to handle GEM300 messages, CCF can be used just as effectively for building back-end and electronics equipment control applications handling the movement of chips and trays rather than wafers and carriers.black-red-chip-1

To demonstrate this ability, Cimetrix has added a continuous flow back-end sample as one of the fully working implementations provided with CCF. If you are already familiar with CCF, you will have seen the front-end Atmospheric and Vacuum cluster tool samples.

The continuous flow sample is different from these other samples as described below.

JEDEC input and output trays

For the Atmospheric and Vacuum samples, material is delivered as wafers in SEMI E87 carriers. For back-end and electronics markets, material is usually not in the form of a wafer and is not delivered in a carrier. For the Continuous Flow sample, the material is delivered on input trays and removed from the system on output trays. All trays used in the sample are similar to JEDEC trays, standard-defined trays for transporting, handling, and storing chips and other components. The trays have slots that can hold material in rows and columns. A JEDEC tray may appear as follows:

Integrated-circuits-tray-1The Continuous Flow sample allows users to specify the number of rows and columns in a tray using configuration parameters. The sample has two input trays and two output trays.

Continuous Flow

industrial-start-panel-1As the name of the Continuous Flow sample indicates, material is continually processed until there is no more material or until the user tells it to stop. The sample does not use SEMI E40 Process Jobs or SEMI E94 Control Jobs to determine how material is processed. Rather the user selects a recipe to use during processing and presses the Start button. Material will continue to be processed until the Stop button is pressed.

By default, the Continuous Flow sample will process all material from the first input tray and then all of the material from the second input tray. When an input tray becomes empty, the empty tray will be removed and replaced with a full one. Similarly, when an output tray becomes full, it is automatically removed and replaced with an empty one. This allows the processing to run continuously until stopped.

Scheduler

The Continuous Flow sample scheduler is different from the schedulers in the Atmospheric and Vacuum samples in that it is not dependent on Process Jobs or Sequence Recipes to know how to move material through the system. It simply picks the next input material and places it in the first available process slot. It then picks the next completed material and places it in the first available output slot.

Visualization

A new visualization was created for the Continuous Flow sample. Rather than using round material, SEMI E87 carriers, load ports, and wafer handling robots, the new visualization draws rectangular material that looks like chips that may arrive in JEDEC trays. Rather than trying to render a robot, the visualization renders a circular end effector that moves material through the system. The following screenshot displays what the sample visualization looks like while processing.

CCF_continuous_flow-1

In an upcoming version of CCF, the components of this visualization will be included in a visualization library that users can employ to customize their visualization more easily than has previously been possible in CCF.

Remote Commands

The Continuous Flow sample comes with three fully implemented remote commands that allow a host or host emulator to run the continuous flow sample. These commands are:

  • PP_SELECT – Specify the recipe to be used for processing material.
  • START – Start material processing using the selected recipe.
  • STOP – Don’t introduce new material to be processed and stop after all processed material has been sent to output trays.

The following shows the S2F49 remote command body for selecting the recipe as sent from Cimetrix EquipmentTest.

CCF_continuous-flow-2

Conclusion

We hope that the new Continuous Flow sample in CCF allows those who are creating semiconductor back-end or electronics equipment control solutions a great starting point for creating their applications. Please contact Cimetrix for additional information by clicking the button below.

Ask an Expert

Topics: Industry Highlights, Semiconductor Industry, Equipment Control-Software Products, Smart Manufacturing/Industry 4.0, Cimetrix Products

Announcing the Release of CIMControlFramework 6.0

Posted by Derek Lindsey: Product Manager on Apr 14, 2021 11:30:00 AM

The Cimetrix Connectivity Group of PDF Solutions is happy to announce that Cimetrix CIMControlFrameworkTM (CCF) version 6.0 is now available for download.

CCF is a software development kit (SDK) that enables users to design and implement a high-quality equipment control solution using provided components for supervisory control, material handling, operator interface, platform and process control, and automation requirements. CCF is built on the reliable Cimetrix connectivity products which provide GEM/GEM300/EDA interface functionality.

We have previously done a series of blog posts on the functionality of CCF. The same great functionality users have come to expect with CCF is still available, but in a cleaner, slicker, easier to use package.

Reorganized directory structure

In versions before CCF 6.0, core CCF packages (packages provided by CCF) were contained in the same directory as sample code and runtime files. This made it more difficult for CCF users to understand what code was required to be customized and what code was basic to CCF. (Note: you can still customize the basic CCF functionality, but it is not required.) In this release, we modified the directory structure to identify more clearly what is core CCF and what is sample or custom code. This is closer to the structure followed by CCF applications. The following diagram shows the new structure:

CCF-6.0-announcement-pic1In addition to clarifying CCF components, the new structure allows us to easily develop samples for additional equipment types. New samples will be added in future versions of CCF.

New WPF framework

Since CCF started providing a Windows Presentation Foundation (WPF) framework, we have received feedback on WPF features user would like added to the framework. Also, our engineers have continued to improve their WPF expertise, which has led to other improvements. CCF 6.0 includes the requested changes and best practice improvements in the new WPF framework. Some of these changes include:

  • Simplified hierarchy which makes it easier to understand which objects to inherit from.

CCF-6.0-announcement-pic2

  • Centralized style elements to allow users to change the look and feel (skin) of the operator interface to meet their needs.
  • Enhanced controls library that provides common controls for use in creating equipment control.
  • Increased E95 compliance, available with a configurable control panel.
  • Accelerated screen creation is possible with the change in hierarchy organization and the enhanced control library.
  • Richer set of native WPF screens. In earlier versions, CCF had several native WPF screens, but also had many screens created with WinForms and hosted in WPF. CCF 6.0 has all native WPF screens in the WPF sample operator interface. These screens can be reused, customized, or replaced. (Note: WinForms screens are also still available in CCF 6.0.)

The following image shows the main screen of the WPF operator interface for the CCF atmospheric equipment sample application. Most of the controls on the screen are available for use and customization by CCF developers.

CCF-6.0-announcement-pic3Updated samples

CCF has contained fully functional atmospheric and vacuum sample applications for many years. Over the years, we have improved the functionality for scheduling, simulation, and device interface interaction. However, the samples had always remained the same. With CCF 6.0, the atmospheric and vacuum sample applications were updated to take advantage of the other changes that have been made in CCF. These changes to the samples make them more useful in illustrating the proper use of CCF and providing a better starting point for creating custom applications.

Spring cleaning

CCF was originally released the summer of 2011 making it 10 years-old. Over the years, CCF has had several methods, objects and devices become obsolete. They were not removed from the product for backward compatibility reasons, but they were marked as obsolete. Because CCF 6.0 is a major release, we took the opportunity to do some spring cleaning and remove the obsolete items. CCF is now cleaner and tighter, and using it is much clearer.

Training material and upgrade guide

All the PowerPoint slides, lab documents, and corresponding solutions used for training developers on CCF have been updated for CCF 6.0. We have already successfully used the new training materials with a few customers to help them get started with their equipment control application development.

As part of CCF 6.0, we provide a CCF 5.10 to CCF 6.0 Upgrade Guide that contains detailed instructions on how to migrate applications created using previous versions of CCF to CCF 6.0.

Conclusion

We have been looking forward to the CCF 6.0 release for a long time and are excited for developers to get started using it. We are confident existing users will like the changes and that new users will have a good springboard in getting started with their equipment control application needs. We look forward to working with you and hearing from you.

Topics: Industry Highlights, Equipment Control-Software Products, Smart Manufacturing/Industry 4.0, Cimetrix Products