一般情况下,威纶通触摸屏通过PPI协议与西门子S7-200 CPU直接通讯。另外,由于西门子 PLC 也支持MODBUS协议,我们当然可以通过 Modbus 协议建立威纶通触摸屏与 S7-200 之间的通讯,通讯速度及距离都要比PPI协议要高很多。威纶通触摸屏相对于进口品牌价格低廉,功能齐全,所以得到十分广泛的应用。
1、硬件连接
在使用 Modbus 协议时,计算机与 S7-200 之间通讯直接使用 PPI 通讯电缆即可。选配一触摸屏通讯端口,我们这里以 MT6070IH2 和 s7-200 进行通讯。
我们这里以MT6070IH2和S7-200进行通讯,S7-200的通讯端口是一个9孔(famel)D型插头。针脚分布如下所示:
S7-200通讯端口(端口0)与威纶通触摸屏的通讯连接,如下图所示:
2、新建S7-200从站程序
(1)新建简单PLC 示例程序,建立外部输入点,辅助继电器,外部输出点,变量存储区,以方便触摸屏读取相关地址获得数据。
(2) PLC 通讯参数设置:在系统块下,通讯端口设置,如设置端口0:PLC 地址2,波特率19.2kbps。
3、在缺省情况下S7-200的通讯端口是不支持Modbus协议的,要想实现Modbus通讯必需在PLC的主程序模块中调用Modbus通讯子程序。
Modbus通讯子程序可以从"STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令库)"中获得。在安装了"STEP 7-Micro/WIN附件:指令库"后,在导航树"指令/库"下面我们可以找到"Modbus Protocol"。
在其下面包含了MBUS_INIT和MBUS_SLAVE两个子程序,MBUS_INIT用于对Modbus通讯进行初始化,MBUS_SLAVE用于在指定端口上提供Modbus从站通讯服务。
4、介绍如何在主程序中调相关子程序及环境参数设置:
①调用Modbus通讯初始化命令
Mode:协议类型,1-Modbus协议;0-PPI协议;Addr: PLC地址,1~247;Baud: 通讯波特率,1200、2400、4800、9600、19200、38400、57600或11520;Parity: 校验方式,0-无校验;1-奇数校验;2-偶数校验;Delay:信息结束超时时间,0~32767,有线连接设置为0即可;MaxIQ:0~128,映射在离散输入寄存器或离散输出寄存器中的I或Q数。建议为:128;MaxAI:0~32;映射在模拟输入寄存器中AIW数;CPU 221为0,CPU 222为16,CPU 224、226和226XM为32;MaxHold:V内存映射在保持寄存器中的寄存器数;HoldStart:V内存的映射时的起始地址;Done:初始化指完成时,输出为开状态;开关量(Bit);Error:初始化错误代码,请参阅Modbus从机协议执行错误代码;输出为字节。详细解析可以参考S7-200帮助。
②调用Modbus从机通讯命令初始化完成后,就可以调用Modbus从机通讯命令(MBUS_SLAVE)了。通常Modbus从机通讯命令在主程序块的每个执行周期都要初执行(始终保持通讯状态),因为可以用一个常开量作为命令的触发条件,如:SM0.0。
从导航树"指令/库/ Modbus Protocol"下面,将MBUS_SLAVE指令拖拽到主程序块中。调用过程如下图所示:
Done: 当MBUS_SLAVE指令响应对Modbus请求时,"Done"为开状态。没通讯请求时"Done"为关状态;Error:指令执行结果。只有"Done"为开状态时,此状态有效。请参阅Modbus从机协议执行错误代码;输出为字节。⑸触摸屏EB8000软件的系统设置
5、EB8000 软件设置
EB8000中PLC设备属性通讯参数设置:通讯参数如波特率等必须与第(2)步的通
讯端口设置一致,如PLC 地址2,波特率19.2kbps。
可依据PLC 的通讯参数作修改,如PLC 地址改为2,波特率改为187.5kbps;PLC 和HMI 的程序通讯参数都必须做对.
(1) 打开软件,设置触摸屏型号。
(2) 点击新增,增加新的设备,即需要通讯的PLC类型。
(3) 设置Modbus RTU相关参数,见下图
主要包括PLC类型、接口类型和PLC预设站号以及COM口的设置。
(4)设置COM通讯口相关参数如果电脑连接触摸屏,还需要设置电脑本身的COM口。可以打开设备管理器查找正在使用的COM和触摸屏设置一致,才能连上触摸屏。
(5) 触摸屏和S7-200 PLC地址对应关系,PLC编程方会提供相对应的V、M等存储区地址。
(6) 触摸屏读取S7-200预先编程设置好的存储区数据
根据地址对应关系作的一个位状态设置元件对应plc的地址是Q0.0