Connect Schneider PLC using OPC


Thread Starter

Rui Pereira

I need help for a new project.

I have a PLC Schneider, and i want to connect him to a computer, i want to use a OPC, probably a Schneider one. I spoke with the person of informatic but he don't know how to make it.

Could you help me.

Hi, Rui

Using Schnider OFS product (OPC Factory Server), you able to communicate with Schneider PLCs likes TSX Compact, micro, TSX Momentum, TSX/PCX Premium, Quantum, M340, TSX Series 7 and TSX S1000 families.

Best Regards,
You can use the MBX OPC Server from Cyberlogic. It supports all Schneider controllers and networks and includes all needed drivers.

You can download it for a free two-week trial at

Dan Muller

Tallak Tveide

If you use the OFS OPC server from Schneider, rather than a general modbus OPC server, the tag names may be automatically imported into OPC. In particular if you use Unity, you will not have to assign a modbus address to each tag in order to use it in your HMI. If you need OPC, I would make sure that the OPC server you choose has this functionality. If you use PL7 the gain is smaller.

Personally I am not too fond of the OPC servers I have tried, and generally tend to use plain modbus TCPIP for as much communication as possible. Along with wireshark (free open source network logger), you have very good insight into what your PLC is up to. (Note: use a hub if your switch does not allow an ethernet port to receive all data)

If using plain modbus addresses, I would then choose the built in modbus drivers that come with your HMI system. In the case of Wonderware Intouch, the modbus driver also functions as an OPC server (but without automatic tag names)
You have experience working in that?? I'm a starter user, do you have some examples with this OFS product.

It is very easy.

The best is Viejo Citect SCADA: that has build in OPC-(OFS)factory server:(with basic training from Schneider anyone can make a project)

1) Make your PLC code in PLC(best is M340)-in unity pro software.2) Then In the unity->Variables list set the filter for Variables that are not-arrays(negate type:"ARRAY*" and use variables with address "%MW*"

3)if your list displays only the variables that you want then select them (ctrl/shift+click) and (in mouse popup select "EXPORT" and select "*.XVM" type of file(not fully sure of the name...).

4)then in the ofs-opc configuration tool you need to Create device (depend on the PLC you use ) and set the file that you have already exported from unity as tag database. (the default settings are usually ok except of IP/modbus address

5)save all config and close setup

6)run Vijeo Citect SCADA and create new project

7) in that project run EXPRESS IO Wizzard go thru it and in the type of device select for example Modicon M340 PLC. (you can now link tags from opc by selecting an option or do this later)

8) if you have decided to link tags later you can use function "import/refresh linked tags(variables) in the Project Explores window.

9) if you successfully compile the project and run him, the SCADA will Automatically Run OPC SERVER and will be pooling the data from him, and OPC will establish Connection to the PLC and will be collecting the data for SCADA.

That is not very detailed description but is showing key points of setting SchneiderPLC/OPC-OFS/SCADA scenario.

This system is very handy and easy to debug.

Tag counting system is very helpful because you pay for tags/variables that are displayed on SCADA screen not fpr tags that are in database. for example you can import 5000tags from plc but on the screen only:

-100 tags is displayed (on 2 operator pages each tag-multiple times)

-the same tags are used as alarms

-and another 50 different tags are on pages that were never displayed in the runtime(simply are not in use but existing in the project)

And finally system will Count 100tags!!! only :)))because physically SCADA is asking OFS for data about the 100 tags that were in use.

(the best is to do test by your self because VIJEO CITECT and OFS is free AT DEVELOPMENT STAGE and only FOR normal operation you need usb key.)

-If you find any bugs in my post, that is because i'm tired :))) Hope this has helped.....