我们这里以MT6070IH2和s7-200进行通讯,S7-200的通讯端口是一个9孔(famel)D型插头。 针脚分布如下所示: ![]() S7-200通讯端口(端口0)与威纶通触摸屏的通讯连接,如下图所示: ![]() 在缺省情况下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从站通讯服务。介绍如何在主程序中调相关子程序及环境参数设置: 调用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从机协议执行错误代码;输出为字节。 调用Modbus从机通讯命令 初始化完成后,就可以调用Modbus从机通讯命令(MBUS_SLAVE)了。通常Modbus从机通讯命令在主程序块的每个执行周期都要初执行(始终保持通讯状态),因为可以用一个常开量作为命令的触发条件,如:SM0.0。从导航树“指令/库/ Modbus Protocol”下面,将MBUS_SLAVE指令拖拽到主程序块中。调用过程如下图所示: ![]() Done: 当MBUS_SLAVE指令响应对Modbus请求时,"Done"为开状态。没通讯请求时"Done"为关状态。 Error:指令执行结果。只有"Done"为开状态时,此状态有效。请参阅Modbus从机协议执行错误代码;输出为字节。 触摸屏EB8000软件的系统设置 ![]() ![]() ![]() ![]() ![]() 我们可知西门子PLC与触摸屏通讯原则: 采用无线RS485 通信产品实现触摸屏、人机界面及 PLC 之间的无线通信,需要遵循以下原则,适合于无线通信的方式有三种: (1) 采用自由串口协议,需要用户熟悉串口通信,会编程。 (2) 采用PPI 协议,不需要编程,只需要简单组态。但是对无线数据终端有特殊要求,普通产品无法满足PPI 协议要求,推荐采用DTD433M专用PPI 无线数据终端。 (3) 采用Modbus协议,开放协议,普遍使用,但需要编程或组态。 由于无线产品的实时速度不能满足MPI 协议和Profibus 协议,所以不合适无线通信。如果一定要这样做的话,建议: (1) S7-300选择CPU 313C 2PTP ,CPU 314C 2PTP(点对点); (2) 用S7-200 中转一下,S7-200 与S7-300 之间采用 MPI 协议或者Profibus 协议,S7-200与触摸屏之间PPI 连接。 ![]() |


|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )|网站地图
GMT+8, 2020-4-12 10:15 , Processed in 0.210141 second(s), 46 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.