制造商园地
西门子CP340串行通信主站的软件实现
张锋
(保定莱特整流器股份有限公司,河北保定071051)
摘要众所周知, Modbus是目前较为常用通信协议之一,尤其是在DCS系统中链接仪表、
传感器、变频器等通信中应用广泛,另外在工程项目中很多采用 Siemens PLC,然而S7-300PLC
作 Modbus主站时,官方建议使用CP341+ DOUGLE的模式,这种模式的特点是使用较为方便,缺
点是费用太高。针对以上情况现开发编写CP340作为主站的程序,这种模式的主要优点是复制性
强、费用低廉,不必每次都要买 DOUGLE
关键词:CP340; Modbus主站;STL编程
Modbus是一种主/从串行通信协议,可分为
名称
01读取线状态取得组逻线的当的状态(ONOF)
Modbus RTU与 Modbus ASCII两种模式。这里仅有
02读取输入状态取得一组开关入的当前状あ ON/OFT
03读取保持寄存器在一个或多个保持奇存器中取得三前的一二制值
台设备(主机)可以请求数据交换(叫做“查
04读取输入奇存器在一个或多个输入奇存中取得当前的二进制值
0651强置单线1强置一个逻线的通断状态
行主机的前命今的方式对士机作出总0??
询”),而其他设备(从机)以向主机提供数据或执
单高存器中
16「预置多存器放置一系列特定的一二进制值到一系列多存器中
协议定义了查询消息的格式以及从机响应的格式,
17报告从机标识可使主机判断址从机的类型及该从机运行指小灯的状态
主机查询消息包括地址、功能码、数据以及CRC校
图2常用功能码
验,从机响应消息包括地址、功能码、数据以及CRC1PLC硬件组态软件配置
校验。如果从机在接受消息时出错或是从机不能执
行接收的命令,他将生成一个错误信息并作为响应1.1硬件组态
发给主机。主从查询响应如图1所示。
使用STEP7V5.5版本(其他版本也可),双击
主站查询信息
从机返回信息
SIMATIC管理器图标进入 SIMATIC.管理器,弹出新
项目对话框,输入名称,单击“完成”按钮。项目建
立完成后,鼠标单击 SIMATIC管理器左侧的项目名
设备地址
设备地址
称,选择“插入新对象”选择“ SIMATIC S7-300
功能代码
功能代码
站”,将此项目下插入一个S7-300站。
数据字节
数据字节
Modbus m
对彩交
符号名
SIMAT1切
(1)
复制
carlie
错误校验
错误校验
贴
Ctrl+v
插入新对泉
SIMATIC400站点
图1主从查询响应周期
SIMATIC30站点
设备地址在通信帧的开始部分,由8位组成,
SIMATIC H站点
重命名
SIMATIC PC站点
对象属性..At+ Return
有效的从机设备地址范围0~247(十进制),各从
其它站
SIMATIC S5
机地址的寻址范围为1~247:信息帧功能码告诉被
/PC
寻址到的终端执行何种功能。有效码范围为1~255
PROPTBUS
(十进制),有关常用功能码的内容见图2:;数据域
Industrial Ethernet
包含了终端需要的数据或者响应查询时采集到的数
据;错误校验域是为了提高系统的安全性和效率,
S7程序
M7程序
出错校验采用了16位循环冗余的方法,即CRC校
图3新建300站点
验,CRC域在信息帧的最后。
2015年第1期电气13
制造商园地
选中插入的站, SIMATIC管理器右侧将出现故障代码、超时连接时间(如图8)。然后建立FB
“硬件”文件,双击或用鼠标右键选择“打开对程序块的背景数据块DB100。
象”将打开“硬件组态编辑器”,如图4在右侧硬
件库中依次选择机架RAL,机架的1槽放入电源模
ASCII Transfer Receiving Data Interface
End Code of a Receive Message Frame
块,2槽放置CPU315-2DP,3槽被CPU占用,4
o On Expiry of Character Delay
Chu acter Dalay
槽放置CP340RS422/485通信模块。
On Receipt of End Character (s)
Ist End b
I 2nd End ID
T Hm
ron Receipt of Fixed Nunber of Cha
0坐画
Message Fr ame
Bytes
Char actar Frame
8
取海
图6 Protocol配置ASC
m
ASCII Trasfer Receivine Data Interfaee I
Operating Mede
Initial State of the Receive Line
Full Duplex Os 422)four-wire 1
图4硬件配置组态
1.2CP340配置参数
双击CP340所在的槽位,会弹出如图5所示的对
话框,左键点击“参数”按钮,配置模块。左键双
击 protocol,如图6,ASCI选项卡下面部分设置模
块通信参数波特率9600,数据位8,停止位1,无校
图7 Protocol配置 Interface
验位;对话框最后一个选项通信线路电气接口特性
(如图7),选择RS485两线半双工通信。设置完毕
口随集连按摩,对重通信不正富时,的置
点击确定。在硬件组态界面,点击保存和编译。下
Mw0, 9n(),0. 0x05,( 6, 07,0x0e 305.
载组态到PLC。
口口口
干功,0a0,D0e,,区,
属性-cP340-ES2/85-(R0Sd)
常规地址1基本数
图8数据对象
CP340-RS422/485
(ASCII, 3964R, printer) /1.0 nnection RS422/485
建立好数据对象后,新建程序段1,主站要对
进行从站通信的各站进行初始化,发收信息命令,
订黄号
6ES了340-10H02-DAE0
使用STL编写。
名称D:
2
QDFS位控制西门子PLC自带发送程序块FB2
发送数据。QDJS控制FB3接收数据:接收段程序
同样检测从机站号、功能码、数据和校验码;校验
注釋¢):
米用CRC16校验方式。
2软件流程图
数
取消
主程序设计流程图如图10所示
图5CP340模块属性
3通信测试
1.3软件程序编写
新建FB100程序块,为了方便编写程序实现功
使用 Modsim32调试软件,连接串口转485,485
能,使用STL语言,编写通信程序,在接口部分建线双线连接CP340模块通信端口
展开阅读全文