西门子PLC的工程应用第7讲 串口通信模块在西门子PLC系统中的应用
2016-11-18ApplicationoftheSerialCommunicationModuleinSiemensPLCSystem
Application of the Serial Communication Module in Siemens PLC System
西门子PLC的工程应用第7讲 串口通信模块在西门子PLC系统中的应用
Application of the Serial Communication Module in Siemens PLC System
串口通讯模块在西门子PLC中占据了非常重要的作用。有了CP34x/ CP44x模块,S7 PLC才能组成规模更大、功能更完善的自动化系统。本文主要阐述了串口通信模块在西门子PLC系统中的应用。
西门子PLC;串口通信模块;通信协议
1 概述
CP340/CP341/CP440/CP441-1/CP441-2模块是西门子S7-300/400系列PLC中的串行通讯模块,其串行通讯口规格为RS232C或TTY或RS485/422。用户可以使用这种通讯模块实现S7-300/400与其他串行通讯设备的数据交换,如打印机、扫描仪、仪表、Modbus主从站、Data Highway站、变频器,USS站等。表1所示为部分串口通讯模块以及相关产品的技术指标。
浙江工商职业技术学院 李方园
表1 串口通讯模块以及相关产品的技术指标
2 串口通信模块的安装
当用户要实现MODBUS或Data Highway通讯时,需要在CP341/CP441-2模块上插入相应协议的硬件狗后,CP模板才能够支持MODBUS(RTU格式)或Data Highway(DF1)协议,CP441-2使用同样的硬件狗,这里我们所提到的硬件狗、Dongle、协议驱动或Loadable driver指的是同一个东西,如图1所示。
图1 硬件狗
MODBUS为单主站网络协议,所以系统中只能够有一个Modbus主站,并且只能够实现主站和从站的数据交换,从站之间不能进行数据交换。CP341插入MODBUS主站Dongle或插入从站Dongle,就可以作为MODBUS主站,或者作为MODBUS从站,如图2所示。
一般来讲,RS232的通讯最大距离为15m,20mA TTY的通讯最大距离为100m(主动模式)、1000m(被动模式),RS422/485的通讯最大距离位1200m。
CP34x/CP44x模块可以同时与多台串行通讯设备进行通讯,如同时连接多个变频器、连接多个智能仪表等,如果采用ASCII码通讯方式,需要在发送的数据包中包括站号、数据区、读写指令等信息,供CP34x/CP44x模块所连接的从站设备鉴别数据包是发给哪个站的,以及该数据包是对那个数据区进行的读或写的功能。
串行通讯模板只有RS232C或TTY或RS485/422 三种电气接口类型,如果用户想实现串口的光纤通讯,只能在电子市场上购买第三方制造的电气与光缆的转换设备,西门子不提供该类设备。
3 串口通信模块CP34x调试过程
在用户计算机上首先安装STEP7 5.x软件和CP34x模板所带的软件驱动程序,模板驱动程序包括了对CP341进行参数化的窗口(在STEP7的硬件组态界面下可以打开)、用于串行通讯的FB程序块、模板不同应用方式的例子程序。
当系统上电,CP34x模板初始化完成后,CP34x上的SF灯点亮。
(1)参数化CP34x模板
在硬件组态窗口中双击CP34x模板,打开CP34x模板的属性窗口,请记下模板的硬件地址,如图3所示。
图3 硬件地址
在编写通讯程序时,用户需要该地址参数,同时可以点击属性窗口上的Parameters(参数)按钮。
图4 选择所要使用的通讯协议
图4所示选择所要使用的通讯协议,这里选用ASCII协议,双击信封图标。
图5 ASCII协议通讯参数设置窗口
如图5所示,弹出ASCII协议通讯参数设置窗口,这里使用默认值:9600 bit/s, 8 data bits, 1 stop bit, even parity。对硬件组态存盘编译,下载硬件组态,如果此时SF灯亮,请将通讯电缆与另一个通讯伙伴进行连接后,SF灯熄灭,说明硬件组态正确。
(2)编写通讯程序
在安装完CP34x/CP44x的驱动程序,Modbus主站软件,Modbus从站软件等3个软件后,用户可以在目录….Siemens STEP7Examples当中找到关于CP34x/CP44x的串口通讯和Modbus通讯的例子程序,通过在STEP7软件的SIMATIC Manager下打开例子程序。用户可以使用CP341串口例子程序中3964(R)站 中的程序块实现ASCII通讯协议。
打开CPU下的Blocks文件夹,复制所有的程序块(除过system data)到项目当中,只要作一些简单的参数修改,就可以实现相应的通讯了,如果用户的CP34x的硬件地址与例子程序当中的不同,那么应当修改相应程序块LADDR参数,CP34x/CP44x模块实际的硬件组态地址值相同,修改后,下载程序块,将CPU切换至运行状态,CP34x开始循环发送数据,可以看到“TxD”灯闪烁。
如图6所示,调用FB7/FB8(CP341)或FB2/FB3(CP340)实现模块的字符收发功能。
图6 模块的字符收发功能
4 结语
调试CP34x的一个基本方法是采用PC机上的串口通讯调试软件,Windows系统自带的超级终端(Hyper Terminal)软件是一个非常方便的串口调试工具,用电缆将CP34x的通讯口和PC机的Com口(RS232C)连接起来,如果用户采用的是485/422或TYY接口的模块,那还需在中间加一个RS485 RS232或TYY RS232信号转换器。
[1] 周柏青, 李方园. PLC控制系统设计与应用[M]. 北京:中国电力出版社. 2015.
[2] 李方园, 杨帆.西门子S7 PLC应用简明教程[M]. 北京:机械工业出版社. 2013.
[3] 李方园. 图解西门子S7-1200 PLC入门到实践[M]. 北京:机械工业出版社. 2011.
The serial communication module plays a very important role in Siemens PLC.With CP34x / CP44x modules. TheS7 PLC can form a larger, more full-featured automation system. This paper describes the application of the serial communication module in Siemens PLC system.
Siemens PLC; Serial communicationmodule; Communication protocol
李方园(1973-),男,浙江舟山人,高级工程师,毕业于浙江工业大学信息学院工程硕士专业,长期从事于变频器等现代工控产品的应用与研究工作,现就职于浙江工商职业技术学院。