Industry News, Trends and Technology, and Standards Updates

Cimetrix had a great showing at SEMICON Southeast Asia!

SEMICON-SEA-Asia-2018Cimetrix just finished exhibiting at SEMICON Southeast Asia for the first time. And a grand entrance it was. Located in Kuala Lumpur, Malaysia, this is one of the regional SEMICON shows put on by SEMI, a global industry association serving the manufacturing supply chain for the electronics industry. Southeast Asia is a hotbed for semiconductor backend and PCBA (SMT) industries. With our new employee Raymund Yeoh located in Penang, Malaysia; combined with our distribution partner Electrotek based out of Singapore, Cimetrix now has a strong presence to support Industry 4.0 adoption in Southeast Asia. 

semicon-sea-post-1-1By working closely with SEMI, Cimetrix had a new booth in the SEMI Smart Manufacturing Pavilion and an impressive demonstration in the SEMI Smart Manufacturing Journey.

Our new booth emphasized (1) our global reach as the world’s largest supplier of equipment connectivity and control software, (2) our new SapienceTM factory side platform which has beta installations at select major EMS and electronics manufacturing sites, and (3) our new EquipmentTestTM connectivity tester designed to make equipment connectivity easier than ever before.

booth-semi-sea-1Our booth was extremely busy the whole time with demonstrations of Sapience and EquipmentTest. We gave out vouchers for free copies of EquipmentTest to booth visitors which generated excitement and will increase learning for GEM connectivity in Southeast Asia. It was interesting to see the number of factory engineers and managers who visited us seeking help with getting their equipment connected for traceability and OEE (Overall Equipment Effectiveness). And we had the answers. Right next door to our booth was the SEMI Smart Manufacturing Journey which had guided tours demonstrating the use of Industry 4.0 throughout the electronics manufacturing supply chain. Our job was to demonstrate data collection using standards from live equipment in real time displaying OEE charts and data for each tour to witness. Setting this up can take months in a factory. Our Smart Factory Business Team is out to turn this problem upside down. They connected to all 4 live equipment in one day and were ready to go at the start of the show. And we are ready to do that in factories too. 

mike-semi-sea-tourHere is Mike and Jesse giving a demonstration to a tour group. The equipment is located right behind the crowd for all to see; with Sapience displaying data and the crowd taking pictures. SEMI did a great job organizing this. We had top government officials, factories, equipment manufacturers, electronics distributors and universities come through the tours. We also exceeded expectations by adding artificial intelligence to the demonstration. Amazon Alexa was integrated into Sapience which allowed us to ask Alexa which factory was most productive last week. Alexa and Sapience analyzed the data and gave the answer to the tour crowd.

We have many new opportunities to follow up; and we will be working with SEMI on how to help companies in Southeast Asia learn and adopt Industry 4.0.

Following the show, our team spread out to visit the rapidly growing Cimetrix customer base in Penang, Korea, India and China with support from our local teams. See you next year in SEMICON Southeast Asia!

Buy EquipmentTest Today


Topics: Doing Business with Cimetrix, Events, Global Services, Smart Manufacturing/Industry 4.0, Cimetrix Products

Do you need help with GEM Testing?

Posted by David Francis: Director of Product Management on May 22, 2019 11:21:00 AM

A few years ago, I went through the process of building a new house. It was exciting to work with the architect to design the house and imagine what the finished product was going to be like. The architect created a 40-page set of drawings detailing all the components that would go into the house, like the electrical, plumbing and flooring. I thought everything was covered. I was a little surprised when things didn’t go exactly as detailed in the drawings. There were exceptions! However, having the detailed drawings made it easier to identify where things went wrong and helped clarify what needed to be done to correct the problems.EquipmentTest-Software-Control

Communication standards like GEM are like a set of architectural drawings for how to connect equipment to factory control systems. They define what needs to be communicated, how the communication needs to take place and provide a great roadmap for getting there. But like building a new house, there are usually a few surprises along the way. A standard, consistent way of testing the interface that can be used by both the factory and equipment manufacturer, greatly reduces the unknown and simplifies the process.

The new Cimetrix EquipmentTest™ product is the fastest way to achieve GEM Compliance for factory acceptance testing of new equipment. Whether you are an equipment manufacturer or factory, making sure the equipment interface is GEM compliant is critical. Having an easy-to-use testing solution to determine if the equipment is GEM compliant is critical.

There are two versions of EquipmentTest depending on your needs. The EqupmentTest Basic version is ideal for both Smart factories and equipment manufacturers to quickly and easily test the basic capabilities of an equipment’s GEM interface. EquipmentTest Basic includes a simple testing scenario, called a plugin, to evaluate the equipment’s ability to connect to a GEM host and communicate events, data and alarms. This version also includes the ability to send/receive individual messages to/from the equipment for discovery or diagnostic purposes. With the messaging functionality, you can also create macros to send and receive groups of messages.

For more complex testing, there is the EquipmentTest Pro version. In addition to all the features of the EquipmentTest Basic version, EquipmentTest Pro includes a full, rigorous GEM compliance testing plug-in and an operational GEM compliance testing plugin. The Pro version includes development tools to allow you to create your own custom tests/plug-ins using .NET languages. The GEM compliance plugin generates a GEM compliance statement that shows the areas and level of compliance to the GEM standards. There are also other tools only available in the EquipmentTest Pro version that allow you easily test and interact with the GEM functionality on the equipment.

As with all our products, Cimetrix supports the industry connectivity standards so you never have to wonder if your equipment is keeping up with the rest of the industry.

You can purchase either version of EquipmentTest directly from our website and download the software immediately. You will need to provide a valid Mac ID and email address for licensing purposes. You will receive your license agreement no more than 48 hours after purchase. Be sure to learn more and get your EquipmentTest download today!

Buy EquipmentTest Today

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

Multiple GEM Connections on Manufacturing Equipment

Posted by Brian Rubow: Director of Solutions Engineering on Apr 10, 2019 12:47:00 PM

The GEM standard is often incorrectly perceived as a single-connection protocol for manufacturing equipment. A single connection means that only one software product can use the GEM interface at one time. Many manufacturing equipment that support the GEM standard only have the ability for one connection. However, this limitation is set only in ignorance, by tradition, and to satisfy the common manufacturing system architecture. 

The truth is that the GEM standard simply does not discuss additional connections--meaning that additional connections are neither required nor prohibited. Not only is it possible for an equipment to support multiple concurrent GEM interfaces, this is becoming more and more common. If each supported GEM connection is point to point and complies with the GEM standard, this is certainly allowed. However, each connection should be completely independent of other GEM connections and still comply with the GEM requirements. Implementing multiple connections raises several questions. 

What does it mean for each GEM connection to be independent?

It means that each GEM host operates completely independently, as if the other GEM host connections were not present. Here is a more specific list of attributes that define “completely independent”:

  • The Communication state model is independent. Each can establish and disconnect independently from the other host packages.
  • The Control state model is independent. Each can be set up as local or remote as needed. 
  • Collection event report dynamic configuration is completely independent. Each host defines a unique set of reports and subscribes to a unique set of collection events. Even so, if two GEM host connections create identical reports and link them to the same collection event, then both should receive identical data. 
  • Each host subscribes to a unique set of alarms. 
  • Each host can query status information independently of any another.
  • Each host can choose to enable or disable Spooling and configure it as desired.
  • Each host can set up its own trace data collection.
  • Each host only receives messages based on its subscriptions.
  • Each host only sees reply messages to its primary messages.

Are you talking about HSMS-GS? 

No. HSMS-GS means implementing SEMI Standard E37.2, High Speed Message Service – General Session, an inactive SEMI standard. This standard, which never gained much industry traction, opens a single port through which any number of clients can connect. In contrast, I am talking about supporting multiple implementations of E37.1, High Speed Message Service – Single Session (HSMS-SS) where each connection uses a unique port number. Nearly all GEM interfaces today use the HSMS-SS protocol. 

What are the advantages of having multiple GEM connections in a single GEM interface? 

This opens the door for many useful applications. Here are three example configurations, and of course, all of them could be accomplished at the same time. 

  1. A factory can set up multiple host software packages at the same time to connect to the same equipment’s GEM interface, without any knowledge of or interference with each other. With only a single connection, a factory wanting to do the same thing has to implement some sort of GEM host broker to funnel the different GEM host package communications into a single GEM connection… a technically challenging feat. 01_GEMHost_v3
  2. If an equipment supplier wants to create an application designed specifically for its equipment running in a factory, they can use one of the GEM connections. They don’t have to replicate functionality into a custom interface. 02_GEMHost_v3
  3. If one equipment needs to monitor, control, or pass data directly to or from another equipment, this can be done using one of the GEM connections without interference to the factory GEM connection. This is relatively simple to set up. Sometimes this is called horizontal communication. Such communication can also be channeled through a host using the traditional vertical communication use case for a GEM interface. 03_GEMHost_v3

What about safety?

Typically, I would expect factories to set up one and only one connection in the GEM interface to be in the online-remote state and allowed to send remote commands. But this is not an absolute requirement. It is not difficult to imagine applications where execution of remote commands is distributed among multiple applications. For example, an equipment supplier might use one GEM connection to manage periodic recalibration of the equipment based the actual measured performance. 

What are the technical complications? 

There are a few. 

  • Because each connection uses a separate port number, the GEM interface can only support a finite number of connections when using HSMS-SS. 
  • Because multiple connections are not addressed explicitly in the standard, there are not requirements for handling them. For example, GEM requires that operator commands and operator recipe management activity be reported to the host. However, when another connection sends a remote command or downloads a new recipe, there is no requirement to report this. Our CIMConnect product does, but there are no formal requirements to do so. 
  • GEM requires the communication status to be displayed in the GUI, but what about multiple connections? It is not clear what needs to be displayed for multiple hosts. Typically I’ve just displayed the first GEM connection status, but it might be useful to show each connection status and give the operator a chance to control all GEM connections. 
  • Some collection events (and hence data variables), status variables and equipment constants are targeting the behavior of that single connection. This means that in order to implement multiple connections correctly, these connection-specific features must be unique for that connection. For example, consider status variables EventsEnabled and ControlState. The values reported for these two status variables are unique to that connection. This adds some complexity to implementing the GEM interface with multiple connections. Of course, our CIMConnect product implements and handles this already. 

Does each GEM connection have to be identical? 

No, but generally speaking it should be the same. The same set of collection events/data variables, alarms, status variables, and equipment constants should be reported to all connections. However, there are use cases where it might be useful to have some unique collection events and data on one connection. For example, if an equipment supplier uses one GEM connection as a pipeline for a factory host package dedicated to their equipment, they might want to publish some unique data that is for its eyes only. As mentioned above, if two GEM host connection create an identical report, and link it to the same collection event, then both should receive identical data. On the other hand, trace data reports with the same status variables may not need to report identical data, because the values might be sampled independently and at different time intervals. 

How many GEM connections should an equipment support in its GEM interface?

I recommend supporting five connections. Most GEM implementations are just using one connection today, so this opens the door for up to four more connections. This enables an equipment to handle most situations without the need to be reconfigured later at the factory. In CIMConnect, the overhead for having five connections is quite minimal, and virtually nothing if they are not used. 

What should the communication settings be? 

You should definitely set up the equipment as passive. This puts all of the configuration on the host side. The device ID can be the same for all connections, where 0, 1, or 32767 is best. 

How do I turn on multiple GEM connections in CIMConnect?

Since our CIMConnect product inherently supports multiple GEM connections, Cimetrix customers really only have to configure the setup file. Our CIMConnect GEM product was originally designed with multiple GEM connections in mind; therefore it is native and intuitive, with virtually no extra programming required unless you count the additional work in the operator interface. In the setup file, just create the five [CONNECTIONX] sections initially, and then set up a connection-specific VARIABLES and EVENTS section for each of the five connections. 

Alternative Approaches?

One alternative approach is to look at the SEMI Equipment Data Acquisition (EDA) standards. An EDA interface is inherently only for data collection and has multiple client access built into the standard as a fundamental requirement. The semiconductor front end device manufacturers have successful embraced this technology in addition to the GEM standard. The GEM interface is used by the Manufacturing Execution System for command and control of the equipment, while the EDA interface is used for every other application. 

Final Thoughts

My recommendation is that everyone, especially Cimetrix CIMConnect customers, take a look at their GEM interface and make sure that you are doing a good job implementing multiple host connections. CIMConnect makes this extremely easy. And let your customers know that you have this feature so that they can take advantage of it. 

You can learn more about the GEM standard any time on our website.

GEM Standard

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

Why Work in the Electronics Manufacturing Industry?

Posted by Brice Laris MPC, CPLP; Human Resources Manager on Mar 6, 2019 10:44:00 AM

A question that job seekers should always ask of potential employers is, “Why should I work in your industry?” It is an important question when you consider that only 60 of the original Fortune 500 companies from 1955 are still in existence in 2017. Changing customer tastes, mergers, technology and many other reasons are responsible for this, but it does give us at least one key takeaway: the company I start my career with probably won’t be the one I end it with. As a result, it is important to ensure the industry you go into will be able to stand the test of time.sand-to-systemspdf-1

When one enters an industry, be it as an engineer or an accountant, you begin to build specialized knowledge of that industry within your field. This provides you with a competitive advantage in the job market of that industry. Companies are willing to pay more for an engineer with experience in their industry than one they will have to train. If you suddenly find the industry you are in obsolete, all of your specialized knowledge becomes likewise obsolete. For example, someone who was an engineer in the cathode ray tube industry may not find themselves as competitive for the top jobs anymore. 

The electronics manufacturing industry is an exciting place to be, and there is no immediate replacement or end in sight. When you join a company like Cimetrix you have the opportunity to develop and support the software that runs manufacturing equipment in factories worldwide. Those factories create computer memory and processor chips, RF and microwave transmitters, sensors and actuators of all shapes and sizes, power devices and amplifiers, display drivers, and many more items that go into the electronics we use every day. 

You are also part of an industry that meets the demands of many different and diverse end users, providing some shelter from the ups and downs of any particular market. When cell phones became less popular in favor of smart phones, the demand for new products didn’t go away—it simply changed the type of products were called for. 

One specific benefit of life at Cimetrix is that we are an integral part of the the electronics manufacturing and related industriesy. We often refer to one another as family, we take care of each other, celebrate our successes and create an environment where people enjoy coming to work. We have very competitive benefits and compensation, so we can pay you what you are worth. Many employees even have the option of working from home up to three days a week, saving them wear and tear on their vehicles (and their nerves from driving in traffic!).

If you are ready to join an exciting, dynamic, growing and fun industry, please check out our open positions.


Topics: Cimetrix Company Culture, Smart Manufacturing/Industry 4.0, Cimetrix Products

EDA Implementation Insights: Competitive Differentiation

Posted by Alan Weber: Vice President, New Product Innovations on Feb 13, 2019 11:50:00 AM

people arrowIn the first blog of this series, Clare Liu of Cimetrix China made the compelling case for choosing a commercial software platform for implementing the equipment side of the EDA (Equipment Data Acquisition) standards interface rather than developing the entire solution in-house. 

Whenever this “make vs. buy” decision is discussed, however, the following question inevitably arises: “If we choose a standard product for this, how can we differentiate the capabilities of our equipment and its data collection capability from our competitors?” It’s a great question which deserves a well-reasoned answer.

Platform Choice and System Architecture

Most advanced fabs use EDA to feed their on-line FDC (Fault Detection and Classification) applications, which are now considered “mission-critical.” This means if the FDC application is down for any reason, the equipment is considered down as well. It is therefore important to choose a computing platform for the EDA interface that is highly reliable and has enough processing “headroom” to support the high bandwidth requirements of these demanding, on-line production applications. Moreover, this platform should not be shared by other equipment communications, control, or support functions, since these may adversely impact the processing power available for the EDA interface. 

Surprisingly, this approach is not universally adopted, and has been a source of problems for some suppliers, so it is an area of potential differentiation. 

Adherence to Latest Standards 

gold-thumbs-upThe automation requirements for the most advanced fabs call for the latest versions (Freeze II) of all the standards in the EDA suite, including the EDA Common Metadata (E164) standard. Dealing with older versions of the standard in the factory systems creates unnecessary work and complexity for the fab’s automation staff, so it is best to implement the latest versions from the outset. The Cimetrix CIMPortal Plus product makes this a straightforward process using the model development and configuration tools in its SDK (Software Development Kit), so there is absolutely no cost penalty for providing the latest generation of standards in your interface.

It takes time and effort for equipment suppliers with older versions of the standards to upgrade their existing implementations, so this, too, is an opportunity for differentiation.

Equipment Metadata Model Content

This is probably the area with the largest potential for competitive differentiation, because it dictates what a factory customer will ultimately be able to do with the interface. If an equipment component, parameter, event, or exception condition is not represented in the equipment model as implemented in the E120 (Common Equipment Model) and E125 (Equipment Self-Description), and E164 (EDA Common Metadata) standards, the data related to that element cannot be collected. In effect, the metadata model IS the data collection “contract” between the equipment supplier and the fab customer.

eye-with-maglassThis is why the most advanced fabs have been far more explicit in their automation purchase specifications with respect to equipment model content, going so far as to specify the level of detailed information they want to collect about process performance, equipment behavior, internal control parameters, setpoints and real-time response of common mechanisms like material handling, vacuum system performance, power generation, consumables usage, and the like. This level of visibility into equipment operation is becoming increasingly important to achieve the required yield and productivity KPIs (Key Performance Indicators) for fab at all technology nodes.

The argument about “who owns this level of information about equipment behavior” notwithstanding, providing the detailed information the fabs want in a structure that makes it easy to find and access is a true source of differentiation.

Self-Monitoring Capability

If you really want to set your equipment apart from your competitors, consider going well beyond simply providing access to the level of information needed to monitor equipment and process behavior and include “built-in” Data Collection Plans (DCPs) that save your customers the effort of figuring out what data should be collected and analyzed to accomplish this. Your product and reliability engineering teams probably already know what the most prevalent failure mechanisms are and how to catch them before they cause a problem… why not provide this knowledge in a form that makes it easy to deploy?

A few visionary suppliers are starting to talk about “self-diagnosing” and “self-healing" equipment… but it will be a small and exclusive group for a while – join them.

Readiness for Factory Acceptance

checklistBefore the fab’s automation team can fully integrate a new piece of equipment, it must follow a rigorous acceptance process that includes a comprehensive set of interface tests for standards compliance, performance, and reliability. This process is vital because solid data collection capability is fundamental for rapid process qualification and yield ramp that shorten a new factory’s “time to money.” If you know what acceptance tests and related software tools the fab will use (which is now explicit in the latest EDA purchase specifications), you can purchase the same software tools, perform and document the results of these same tests before shipping the equipment. 

This will undoubtedly speed up the acceptance process, and your customers will thank you for the effort you took to put yourself in their shoes. Incidentally, this usually means the final invoice for the equipment will be paid sooner, which is always a good thing.Red_smart_factory-TW

In Conclusion

In this posting, we have only scratched the surface regarding the sources of competitive differentiation. As you can see, choosing a commercial platform enables this far more readily than the in-house alternative, because it allows your development team to focus on the topics above rather than worrying about compliance to the standards. If you’d like to know more, please give us a call or click below to talk schedule a meeting. 

Contact Us

Topics: Industry Standards, EDA/Interface A, Doing Business with Cimetrix, Smart Manufacturing/Industry 4.0, Cimetrix Products

IPC Apex 2019 recap

Posted by Kimberly Daich; Director of Marketing on Feb 7, 2019 2:30:00 PM

apex19-logoIPC Apex Expo is one of the largest gathering of professionals from the printed circuit board and electronics manufacturing industry (EMS). Attendees and exhibitors come from around the world to participate in the expo, the technical conferences and Standards Development meetings. This is the third year in a row that Cimetrix has exhibited at the IPC Apex conference.apex demoCimetrix features the latest in Smart Factory and Equipment Connectivity technology. For the show this year, we chose to upgrade our booth space, allowing us to have more meeting room within the booth as well as several prominent demo stations in each corner. We also featured a popular Virtual Reality station in our booth. We brought a great team of ten to the show this year to staff the booth, give demo’s and greet the many attendees who stopped by throughout the 3 day expo.Bob VR

We chose to participate in the popular Passport to Prizes game for the second year in a row. This sponsorship is a great tool to get the Cimetrix name out in the industry. It also brings in many attendees to our booth for some great conversations about our products and services.

We also had to opportunity for the Cimetrix Vice-President and General Manager of Smart Factory Business, Ranjan Chatterjee, to be interviewed by SCOOP TV both one-on-one and as part of a larger panel discussion. You can view Ranjan's one-on-one interview in the Cimetrix Resource Center.

To learn more about our products or services, you can schedule a meeting any time. 

Schedule a Meeting

Topics: Doing Business with Cimetrix, Events, Smart Manufacturing/Industry 4.0, Cimetrix Products

CCF为实施工厂自动化提供了一条捷径: CCF Gives an Easy Way to Implement Factory Automation

Posted by Yufeng Huang; Software Engineer China on May 10, 2018 11:37:00 AM

Yufeng Huang of Cimetrix China, talks about Equipment Control in the factory. Read now in Chinese or below in English.

在和半导体设备制造公司的接触中我们遇到这么一个尴尬的问题,很多懂得设备控制的优秀软件工程师对于GEM,GEM300和EDA标准不是很有经验。这些公司往往是在设备在实验室研发成功,准备产业化送入客户工厂时发现设备没有实现或只有部分实现GEM/GEM300标准,尤其是当客户工厂要求EDA(Interface A)通信接口的时候,这些设备制造商的软件工程师往往一脸茫然,不知道如何在短时间内开发出完全遵循GEM/GEM300/EDA标准的软件。


Cimetrix Control FrameworkTM (CCF)
是基于微软.Net技术的设备自动化控制软件框架,该软件不仅为设备制造厂商提供了监督控制和生产控制框架代码,而且完全实现了GEM/GEM300/EDA标准。借助CCF软件平台,软件工程师无需深刻掌握工厂自动化的所有SEMI标准,就能轻松变身为工厂自动化开发专家。CCF软件框架内的工厂自动化模块基于Cimetrix公司的CIMConnect,CIM300,CIMPortal Plus三个独立的软件开发套件(SDK)实现,分别对于实现GEM,GEM300,和EDA标准。全球任意一家300mm的芯片制造工厂都有安装了CIM300软件的设备运行,在支持EDA数据采集的工厂都有安装了CIMPortal Plus软件的设备运行。CCF软件框架将所有工厂自动化的开发工作交给Cimetrix公司来完成,设备软件工程师可以把更多的时间花费在如何设计自己的设备控制软件上。

在CCF框架下,CIMConnect/CIM300/CIMPortal Plus的底层API函数都被很好作了封装,软件工程师只需通过CCF框架提供的函数或接口就能轻松实现和工厂主机程序的所有GEM/GEM300标准。实现EDA标准的一个重要任务是创建一个支持分层次结构的设备模型,以及按照标准生成XML数据,此外生成的模型还需满足E164标准。在CCF软件初始化运行时会动态生成设备模型,软件工程师几乎不需要书写EDA代码,设备即可很好的遵循EDA标准。lego brick building is like CCF




We encountered an interesting issue when working with semiconductor equipment manufacturing companies. Many excellent software engineers who know equipment control are not very experienced with the GEM, GEM300, and EDA standards. Sometimes after equipment is successfully developed in the laboratory and before the equipment is shipped to the factory, we discover that the equipment did not implement or only partially implemented the required GEM/GEM300/EDA standard. This is especially prevalent when the factory requires the EDA (Interface A) communication interface. Equipment software engineers sometimes do not know how to develop software that fully complies with GEM/GEM300/EDA standards in a short period of time.

For most equipment companies with limited human and financial resources, it is difficult for the company to have the resources to develop their own GEM/GEM300/EDA software. Another issue is that we have found many of the more experienced software engineers are more interested in high-profile  internet, gaming, mobile phone apps and other software industries rather than the lower profile semiconductor industry.  Although many companies in the semiconductor factory automation software market have provided GEM/GEM300/EDA software development kits (SDKs), software engineers still need to master certain basic knowledge of factory automation to start writing software integration code. Factory automation involves a large number of SEMI standards. For example, the GEM standard has about 450 pages of documents, including E4, E5, E30, E37, E37.1, E172, E173. GEM300 standards have about 280 pages of documents, including E39, E40, E87, E90, E94, E116, E157, E148. The more complex EDA standard has about 480 pages, including E120, E125, E128, E132, E134, E138, E164. For less experienced factory automation software engineers, the integration of automation software can be an extremely tedious and difficult task.

Cimetrix CIMControlFrameworkTM (CCF) is an equipment automation control software framework based on Microsoft .Net technology. This software not only provides equipment manufacturers with supervisory control and equipment control framework code, but also fully implements the GEM, GEM300 and EDA standards. With the help of the CCF software platform, software engineers can easily turn into factory automation development experts without having to master all the factory automation SEMI standards. The factory automation components within the framework of the CCF software are based on CIMConnect, CIM300, and CIMPortal Plus, three independent software development kits (SDKs) from Cimetrix for the implementation of the GEM, GEM300, and EDA standards, respectively. All 300mm chip manufacturing factories in the world have equipment installed which uses CIM300 software. Any factory requiring EDA data collection has equipment installed that uses CIMPortal Plus software. With the CCF software framework, Cimetrix has already done the work of integrating all factory automation into the framework. The equipment software engineer can spend more time on how to develop their own equipment control software.

Under the CCF framework, the underlying API functions of CIMConnect/CIM300/CIMPortal Plus are well encapsulated. Software engineers can easily implement all the GEM/GEM300/EDA standards of the factory host program through the functions or interfaces provided by the CCF framework. An important task in implementing the EDA standard is to create an equipment model that supports hierarchical structures and generate XML data in accordance with standards. In addition, the generated model must also meet the SEMI E164 standard. The equipment model is dynamically generated when the CCF software is initialized. The software engineer needs to do very little to have an equipment control application that is fully compliant with the EDA brick building is like CCF

The use of the CCF software framework to reduce the difficulty and development cycle of equipment control programs and factory automation programs does not mean that our clients must replace their existing software platforms or stable code that has been tested. CCF is a fully open automation control program framework that provides source code. You can think of CCF as a LEGO toy that has been put together. Users can either integrate their own code modules into CCF or select some of the CCF functional modules and transfer them to their own framework. Our clients can reuse the factory automation modules (including GEM/GEM300/EDA) in CCF in their own program frameworks. While ensuring that all SEMI standards for factory automation are fully complied with. The impact on the user's existing programs is minimal.

Thanks to the complete openness of the CCF framework, like LEGO bricks, software engineers can easily enjoy the freedom of tailoring the control system framework that they want. It is hard for any company that provides an equipment control software framework program to implement such a rich library of functions. 

In the next few years, more and more factories will move in the direction of smart manufacturing. As a result, the demand for data is getting higher and higher. EDA standards are increasingly becoming the factory's mainstream data collection method. CCF will undoubtedly become the best weapon for equipment manufacturers to quickly and completely implement the various factory automation standards.

Topics: Industry Standards, SECS/GEM, Semiconductor Industry, Equipment Control-Software Products, Cimetrix Products

Equipment Control Logging Benefits

Posted by Derek Lindsey: Product Manager on Mar 8, 2018 11:02:00 AM


Equipment control applications are highly complex and have many moving parts that require a high level of coordination. Because of the high degree of difficulty, problems are bound to crop up. Sometimes the problems are related to a hardware issue. Sometimes the problems are caused by operator error. Sometimes problems are timing related. Sometimes problems happen infrequently. Regardless of the frequency or the cause of the errors, how do you go about debugging issues that happen in the field if you are unable to attach a debugger to the application?
The answer is logging.

As part of the CIMControlFramework (CCF) product for creating equipment control applications, Cimetrix developed a logging package. Our logging package has two parts – collecting the log messages and analysis of the messages.

The logging package allows you to assign a source and a type for each log message. The source specifies where the log message originated. The type is a category that can be used to route the log 

messages to specific output locations called log sinks. We have found the most useful log sink to be a text-based log file. The logging package can be configured for the types of messages to log. It can also be configured for how long to keep log files and how many to keep. This helps keep hard drives from getting too full.


The temptation for many users is to enable all log messages while developing the equipment control application and then turn all the logging off when the equipment ships to the factory. Cimetrix recommends leaving as much logging enabled as possible. This will help you avoid trips to the fab when a problem arises that can be solved via the logging package. Some clients worry about resource usage by the logging package. We have found that the impact of the logging package is light enough that it is advantageous to leave it on all the time.

The Cimetrix logging package was such a success in CCF, that we have started using the logging package in all Cimetrix products. The logging package has earned rave reviews from Cimetrix product users. Here are a few quick examples that show how valuable logging is:

1. An OEM customer called in a panic because because an end user was withholding payment due to a timing/throughput issue in the application. Together Cimetrix and the OEM reviewed the log file. Using some of the LogViewer analysis tools we were able to isolate and identify the problem within 30 minutes. The OEM was able to confidently tell the end user that they had found the problem and a fix would be available within the next software release. Because the OEM was able to support them so quickly remotely, the end user had confidence in the OEM and released the payment.

2. At Cimetrix, we often hear, “This only happened once, but…” With logging always enabled, it is possible to diagnose problems after the fact. This is especially important for problems which occur infrequently. Users of the Cimetrix logging package are able to resolve issues that happen only rarely.

3. Occasionally an equipment control application will deadlock – two different modules are waiting on each other and neither is free to proceed. Using the LogViewer’s Callstacks plug-in, in conjunction with the Timing Chart plug-in, make the process of diagnosing the deadlock much easier.


4. An end user called up their OEM equipment provider because the software stopped unexpectedly. They wanted to OEM to put someone on a plane immediately to come diagnose the problem. The OEM was able to view the log file to see that an operator had stopped the tool without the supervisor realizing it. When asked, the operator confirmed he had stopped the tool. Crisis averted. No plane ride required by the OEM to satisfy their customer!

5. A client came to Cimetrix for a training class. This client brought in a contractor to attend the class as well. Part of the Cimetrix training was used to review the logging package. During a break in the training, the contractor approached the instructor and asked if he could purchase the logging package separately for use in his other contracts because he could see several applications that would benefit from the power of the logging package.

6. Cimetrix is continuing to add useful plug-ins to the LogViewer. We recently added an E84 (automated material handling system) plug-in to assist in implementing and debugging material transfer. LogViewer allows users to implement their own custom plug-ins for analyzing data important to them.


These are just some of the success stories we have heard about in relation to the logging package. With equipment control applications and factory automation, there will always be issues to be addressed and opportunities to root cause unexpected behavior. Having a powerful logging package makes that process much easier.


Topics: Equipment Control-Software Products, Customer Support, Cimetrix Products

Creating a SECS/GEM interface for equipment automation using the Cimetrix CIMConnect toolkit

Posted by Jesse Lopez: Software Engineer on Nov 15, 2017 12:30:00 PM

Adding a SECS/GEM interface to an equipiment is the first step in automation. Without the proper toolset, this can seem like an overwhelming endeavor. The CIMConnect™ toolkit provides developers and integrators with the ability to quickly create a SECS/GEM interface and the power to perfect it.

Recently I was introduced to the Cimetrix CIMConnect tookit. I had the opportunity to attend a hands-on client training event. Though my knowledge of SECS/GEM was minimal, within three days, I learned the basics of implementing a SECS/GEM interface using CIMConnect and want to share some highlights of that very positive experience.

CIMConnect provides a robust software development kit that helps developers implement and manage a SECS/GEM interface from their equipment control application. CIMConnect is always current with the latest version of required SEMI standards which simiplifies the process of producing a GEM-compliant interface. When CIMConnect is installed, it comes with multiple tools that make development and testing straightforward and efficient.

CIMConnect Sample projects
CIMConnect samples provide a functioning example of a SECS/GEM application. Sample projects are available in C#, VB.NET, and C++. I will be referring to the C# sample since that is what I used during training.

This sample provides a “known-good” environment that provides a way to accelerate development by taking care of the essentials. I was able to focus on debugging the scope of what I was working on in my application, rather than questioning the SECS/GEM connectivity aspects.

C# Sample Features

  • Processing Simulation: The sample provides a loop that simulates equipment operation. This includes triggering events and updating variable values. 
  • EMService Initialization: When the Sample is compiled and run, CIMConnect is initialized and GEM communication is started.
  • GEM Operator Controls: GEM communication status is displayed in real time using GEM state machines. Communication can be controlled from the sample’s user interface.
  • Multi-threading Examples: Data is processed in separate threads. This is a good practice and allows the user interface to remain responsive while data is effectively processed asynchronously. 
  • Delayed GEM Communication Initialization: This demonstrates the concept of waiting for the equipment to be ready during initialization. 
  • Trigger Events: Events are triggered from the process simulation loop. As events are triggered, related variables are updated.
  • Get and Set Variable Values: This sample provides multiple examples of programmatically getting and setting variable values of varying data types.
  • Set and Clear Alarms: An example alarm can be set and cleared by toggling a checkbox in the user interface. 
  • Terminal Services: Terminal services provide an example of effective logging by displaying real-time messages to the equipment user interface.
  • Remote Commands: The sample allows the user to start and stop the processing simulation by sending a SECS-II message from the host.

Training process
Training is very interactive; the instructor demonstrates a new topic, and then allows the trainees time to try it out. When presented with a new feature to try out, I found it beneficial to initially create a button or checkbox to ensure the new feature worked. Next, I embedded the feature into the application. Breaking each process into these two steps removes ambiguity and avoids unnecessary debugging.

The pace was set by the client. The instructor was available to provide assistance as needed. Though the training follows a curriculum, each session is custom tailored to the needs of the client who requested the training. 

My Application
I had created a C# application prior to training. My application read in an XML recipe and simulated wafer processing. Having a working application to modify during training was very beneficial, since it simulated a real-world practical implementation.

Adding the SECS/GEM interface
The first step was to initialize CIMConnect. This step was simplified by extracting the Initialization functions from the sample project. Once I could observe that CIMConnect was initialized, I was able to move on to adding the SECS/GEM functionality.

API Calls
My application sends API calls to, and receives call backs from CIMConnect. The API calls were somewhat difficult to understand initially due to the customization each call allows.

Wrapper functions
The sample project provides several useful wrapper functions that implement API calls. The overhead of API calls is handled inside the wrapper. The benefit of using wrapper functions is that the developer can focus on whether the result matches his/her expectations rather than whether the API call is incorrect.

After my success using wrapper functions to call APIs, I started to modify and make my own wrapper functions. Eventually I became comfortable calling the APIs directly.

Equipment Configuration
CIMConnect lets you statically define events, alarms, variables, and other attributes in a configuration file. In my file, I created multiple variables that related to my application. Later I learned that my application could dynamically define items instead. Also, my application could programmatically override configured attributes. I think these features would benefit companies that produce multiple equipment types with slight variances.

Adding Events and Alarms
The first event that I created was to let the host know when a FOUP had landed on the load port. I used the SendCollectionEventWithData() wrapper function to trigger the event and increment a variable I had previously defined in the configuration file. This variable provided me with a count of FOUPs that had landed on the input port.

Using the AlarmSET() and AlarmClear() functions, I created 3 alarms. Since I didn’t have hardware such as an EMO button, I used check boxes to toggle each alarm’s behavior.

cimconnect_gettingstarted_1.pngMy application with a SECS/GEM interface. 

Developing Using the CIMConnect Control Panel
The CIMConnect Control Panel is a graphical user interface utility that provides a way to observe the inner workings of CIMConnect.

During development, I used the control panel frequently. I could watch the alarms status change as I toggled each checkbox in my application. Event history and alarm history provided real-time updates. I could change variable values and trigger events from the control panel and verify results on the host without needing to constantly modify my application.

I watched the GEM communication status change on the control panel as I used my application’s GEM control. I could also change the status on the control panel and watch it change in my application.


CIMConnect Control panel 1.15.0

Host Testing with GEM Host Messenger
CIMConnect comes with GEM Host Messenger, a host application that allows the user to send and receive SECS-II messages to/from the equipment.

Using GEM Host Messenger, I could easily connect with my application. GEM Host Messenger displays and decodes messages into an easy-to-read format.

I could send S2F21 messages “START” and “STOP” to control processing on my application. It was very satisfying to see my once-standalone application being controlled remotely.


Gem Host Messenger 1.0.0

Help Documentation, Tools, and Support
CIMConnect provides an in-depth help file and developer’s guide. I found myself referencing these frequently to get details on different functionality available in the extensive CIMConnect libraries.

CIMConnect allowed me to rapidly develop a SECS/GEM interface and implement it into an already existing program. With CIMConnect training developers unfamiliar with SECS/GEM can learn the basics in as little as 3 working days. Although this was a simple example, CIMConnect has the power and functionality to facilitate projects on any scale.

Find out more
To find out more about CIMConnect and to request a technical product overview or product demo, visit the resources page now.

CIMConnect Resources

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

Implementing CIM300

Posted by Brent Forsgren on Oct 26, 2017 11:34:00 AM

I have fond memories as a kid spending Saturdays working on the family cars with my dad. We would dive in to taking things apart and putting them back together again. Whatever the problem was we could figure it out and fix it. With cars from the 1960s and 1970s, there wasn’t too much risk with this approach to car repair. Today, I still like to do my own car repairs when I can. But cars nowadays are far more complicated and compact. I have learned that I can’t just jump in and wing it with any hope of getting it done right or in a timely manner. My experience has taught me to rely on the experience of others, learn from their lessons and save myself from late nights asking, “what have I gotten myself into?”

Cimetrix CIM300TM tool kit out of the box has already implemented a lot of the GEM 300 work for you. Notice I said “a lot” and not “all” of the work for you. To complete your GEM 300 application, your software will have to integrate with CIM300. The GEM 300 standards can be quite complex and some of the scenarios have intricate details. CIM300 provides a rich set of APIs and callbacks to help you implement a compliant GEM 300 solution. The key to success is knowing how to use the APIs and callbacks for the different GEM 300 scenarios.

The SEMI E87 Carrier Id Status state model, pictured below, is just one of many state models defined in the GEM 300 standards.

Carrier ID Status State Model for CIM300Figure 1 CARRIER ID STATUS STATE MODEL

There are several transitions in this state model and intricate conditions that determine which transition should be triggered. CIM300 supports this state model, but it requires interaction with your application to know which transition to make in the state model. In my experience, most people handle the happy path scenarios correctly, whether they're “winging it” or had formal training. However, I have rarely seen people handle the error scenarios correctly, without training on GEM 300 and CIM300. While understandable, error scenarios are often hard to follow and the implementation differences are subtle. The risk of doing it wrong in the software will execute the wrong transition in the state model, which in turn sends the incorrect event to the GEM host. The wrong event could really mess things up for the host. In both the happy path and error scenarios, the CIM300 API to call is the same:


However, how you specify the parameters to the call, it is different for each scenario. The differences in how you call the API will trigger different transitions in the state model. Our documentation for this one API call alone is longer than this entire blog post. That is how important it is to get it right. In addition to our product documentation, Cimetrix also provides CIM300 training and sample applications illustrating how to use our products.

I strongly recommend taking advantage of our CIM300 training. Training is the best first step to integrating CIM300 with your tool application. Training is typically a week long and provides an overview of the GEM 300 standards as well as hands-on experience using CIM300. The goal for Cimetrix in training is that by the end of the week-long training, clients have completed an implementation of a GEM 300 happy path scenario. That is, you receive hands-on experience using CIM300 to implement carrier verification (SEMI E87), creating and running a process job (SEMI E40) and control job (SEMI E94), tracking substrates (SEMI E90), and tracking equipment performance (SEMI E116).

Make sure you also leverage the sample applications that accompany CIM300. The sample applications provided with CIM300 give a jumpstart on integrating CIM300 with your own application. You can use the sample application as a reference for how to use our APIs and callbacks, copy/paste portions of the code into your own code, or use our application as a starting point for your own software. If you’re like me, you like having working source code you can refer to for concrete examples of how to do things and to see how things should work together.

If you dive right in and start implementing CIM300 without training or mentoring from an expert, you may find yourself spending a lot of late nights asking yourself, “what have I gotten myself into?” A little training goes a long way in simplifying the implementation!

Find out more about CIM300 or request a Technical Product Overview and/or Product Demo today!

Request CIM300 Resources

Topics: Doing Business with Cimetrix, Cimetrix Products