随着社会现代化的高速发展,信息交流越来越重要、交换数据量也越来越大、越来越快,我们熟悉的手机通信行业已经由2G发展为速度更快的4G,以及马上投入运营的5G。同样,在工控行业,对数据交换的数量和速度也提了很高的要求,原来的 RS232、RS485 通讯已经不能满足大数据量交换的需求。取而代之的是更快的以太网通讯。
项目简介
1、项目所在行业及背景
由于近年人工成本的提高,电子加工行业由原来的人工制造逐渐向机械自动化和机器人制造过度,某电子厂在加工液晶屏过程中,原来的液晶屏型号规格区分是由人工完成的,这样不仅效率太慢,而且时间成本和人工成本都很高,为了节省时间和人工成本,有效快速的将不同批次不同规格的液晶屏区分开来,并有效管理产品,因此需要开发了分拣机。
2、工艺介绍
由于每个液晶屏入库之前,物料信息没有录入MES系统,所以需要把含有不同信息的液晶屏进行分类整理,并把每个液晶屏的ID信息录入MES系统。
3、项目使用的三菱FA产品信息
┌──┬────────┬───────┐
│序号│名称 │型号 │
├──┼────────┼───────┤
│1 │电源模块 │Q61P │
├──┼────────┼───────┤
│2 │基板 │Q38B │
├──┼────────┼───────┤
│3 │CPU模块 │Q10UDEHCPU │
├──┼────────┼───────┤
│4 │定位模块 │QD77MS16 │
├──┼────────┼───────┤
│5 │定位模块 │QD77MS4 │
├──┼────────┼───────┤
│6 │CC-Link主站模块 │QJ61BT11N │
├──┼────────┼───────┤
│7 │串行通信模块 │QJ71C24N │
├──┼────────┼───────┤
│8 │以太网模块 │QJ71E71-100 │
├──┼────────┼───────┤
│9 │触摸屏 │GS2110 │
├──┼────────┼───────┤
│10 │FX系列PLC │FX3GE-40MT/ES │
├──┼────────┼───────┤
│11 │触摸屏 │GS2107 │
├──┼────────┼───────┤
│12 │伺服放大器 │MR-J4-B │
├──┼────────┼───────┤
│13 │RS232 BD板 │FX3G-232-BD │
└──┴────────┴───────┘
[控制系统构成及网络架构]
[产品选型]
由于该机的从站控制器比较多,如果采用CC-Link网络通信,那么主站和智能设备站都需要添加CC-Link模块,这将会加大设备成本,而选用带有内置以太网端口的Q系列CPU和带有以太网端口FX3GE刚好解决了成本问题。Q系列内置以太网有16个通道满足了FX3GE和触摸屏、视觉的链接数量要求,并且主体QPLC和FX3GE之间采用以太网通讯,通讯速度、数据量和刷新时间都能满足要求,并且FX3GE-40MT/ES作为从站可以控制三个脉冲输出,在伺服轴控制数量上也满足了要求。主体选用Q系列CPU并配置QD77MS系列伺服定位模块,不仅节省了大量的配线,而且节省了程序开发成本,并且在控制轴的数量上能满足要求。
[调试过程及主要难点]
1、由于有10台FX3GE与QCPU通讯,如果10台通讯同时调试加大了难度,所以可以先调试一台FX3GE与QCPU的通讯,首先设置Q和FX的通讯参数,主要参数为使用通讯通道、IP地址、通讯协议、打开方式、端口号、通讯数据代码设置等。
FX3GE参数设置如图
2、Q10UDEHCPU内置以太网设置如图
3、根据FX3GE 内置以太网MC 协议命令编写相应的程序,MC协议读写软元件时的主要命令和最大处理点数如图。
┌─────┬───┬──────────────────────────┬───┐
│项目 │命令/ │处理内容 │*点数 │
│ │响应类│ │ │
├─┬───┼───┼──────────────────────────┼───┤
│成│位单位│00H │以1点为单位读出位软元件(M,Y,M,S,T,C) I │256点 │
│批├───┼───┼──────────────────────────┼───┤
│读│字单位│01H │以16点为单位该出位软元件(M,Y,M,S,T,C) │32个字│
│出│ │ │ │512点 │
│ │ │ ├──────────────────────────┼───┤
│ │ │ │以1点为单位读出字软元件(D,R,T,C) │64点 │
│ │ │ │指定为C200以上时,通讯数最多为32件。 │ │
├─┼───┼───┼──────────────────────────┼───┤
│成│位单位│02H │以l点为单位写入位软元件(X,Y,M,S,T,C) │160点 │
│批├───┼───┼──────────────────────────┼───┤
│写│字单位│03H │以16点为单位写入位软元件(Y,M,S,T,C) │10个字│
│入│ │ │ │160点 │
│ │ │ ├──────────────────────────┼───┤
│ │ │ │以1点为单位读出字软元件(D,R,T,C) │64点 │
│ │ │ │指定为C200以上时,通讯数最多为32件。 │ │
├─┼───┼───┼──────────────────────────┼───┤
│测│位单位│04H │以1点为单位随机指定软元件与软元件号,将位软元件 │80点 │
│试│ │ │(X,Y,M,S,T,C)置位/复位。 │ │
│( ├───┼───┼──────────────────────────┼───┤
│随│字单位│05H │以16点为单位随机指定软元件与软元件号,将位软元件 │10个字│
│机│ │ │(X,Y,M,S,T,C)置位/复位。 │160点 │
│写│ │ ├──────────────────────────┼───┤
│入│ │ │以1点为单位随机指定软元件与软元件号,写入字软元 │10点 │
│) │ │ │件(D,R,T,C)。C200~C255的32位软元件不能适用。 │ │
└─┴───┴───┴──────────────────────────┴───┘
*点数:1次通信中可执行的处理点数
[FX3GE MC协议命令报文的控制顺序如图]
在可编程控制器侧, 以太网适配器会进行附加、 删除, 无需用户设置。副标题为00H,PC号为FFH,监视定时器可设定值为0000H~FFFFH(1~65535) (单位250ms),A部分为数据的读写命令,结束代码为对方设备向可编程控制器站进行数据读出/写入后的处理结果(00H: 正常结束,00H以外: 异常结束)。
4、根据FX3GE 内置以太网MC协议的命令格式在QCPU内进行编程,首先用Q 内置以太网的打开/关闭命令(SP.SOCOPEN/SP.SOCCLOSE)对各个通道进行打开和关闭处理,然后再编写进行发送数据和接收数据处理的程序
5、主要难点:
1) 个体FX3GE的信息不能主动刷新给主体PLC,需要QCPU通过程序实现刷新,加大了程序的复杂性。并且刷新速度不能太快,如果刷新太快会报错,报错代码 2560。
2) QCPU在使用Socket通信功能编写程序时以太网端口连接的接收模式(SP.SOCRMODE)需要选择普通模式,如果选择固定长模式时,由于Q从FX3GE接收的数据长不固定,会出现数据移位现象,无法取得正确的数据。
3) 由于QCPU和FX3GE之间加了HUB,造成通讯错误或者中间断线时QCPU和FX3GE无法自动识别,解决办法:在与QCPU和FX3GE通讯的触摸屏画面各添加一个手动关闭按钮,如果出现了通讯错误或者断线,由操作人员通过触摸屏按钮关闭相应连接通道。
4) Q内置以太网端口使用Socket通信进行编程打开相应通道时发送的MC协议命令读写软元件个数必须在容许范围内,不然会报错,报错代码2556,最大点数见图五。如果一次通信中可处理的最大点数小于实际工程中的软元件点数,那么QCPU就要通过程序分时发送命令进行读写软元件。
【总结】
经过系统调试,主体Q与个体FX数据通讯正常,并与MES系统交互数据正常,目前该机已经在客户生产车间投入运行,整体运行稳定,不但降低了人工成本,还提高了工作效率。
楼主最近还看过
例WCS读取PLC中D100-D102中的6个字节:
ASCII 码为: STX CMD 1 0 C 8 0 6 EXT SUMH SUML
WCS读报文: 02H 30H 31 30 43 38 30 36 03H 34 32
例WCS向PLC中D200写入数值1:
ASCII 码为: STX CMD 1 1 9 0 0 1 EXT SUMH SUML
WCS报文: 02H 31H 31 31 39 30 30 31 03H 38 34
备注:STX为命令开始标志 CMD为ASII码格式 EXT为命令结束标志 SUMH、SUML为校验码
此报文适用于FX3U、FX5U、Q吗?