西门子C与SR仪表通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Siemens CP340模块与岛电SR93温控仪表之间的ASCII码通讯
发布时间:2004-08-31作者:翁根春点击:5708
1、引言
智能控制仪表是工业控制中最常用的控制器之一,其主要是针对某一特定的参数(如压力、温度、流量等),采用先进的控制算法(如PID、自适应PID、模糊逻辑等)来达到精确控制被控参数的目的,具有专业性强、智能化高、控制算法先进、使用方便等特点。但各个厂家的智能控制仪表存在着通讯协议不统一,通讯网络简单如仅提供RS485网络,RS232网络等缺点,因此要把智能控制仪表集成到工厂SCADA HMI(Supervisory Control And Data Acquisition Human Machine Interface)系统就比较难以实现。而可编程逻辑控制器(简称PLC)以其运行可靠、集成度高、可扩展性强而在工业控制中得到广泛的应用,而且各个PLC生产厂家提供了多种通讯模块,如工业以太网Ethernet模块,Profibus DP现场总线模块,AS-I模块,点到点串行通讯模块等。因此可以利用PLC的通讯模块读取智能控制仪表中的数据,然后通过PLC中的工业以太网模块、现场总线模块连接到企业SCADA HMI系统中达到完美的结合。
作者在设计某自动化生产线时,需要将日本岛电公司生产的SR93系列温控仪表的参数读取到Siemens公司的S7-300 PLC中,参与实际的连锁控制。SR93系列温控仪表提供RS485通讯接口,但SR93系列温控仪表的通讯协议为日本岛电公司自定义的ASCII码协议。为了能够将仪表的参数读入到Siemens PLC中,采用了Siemens 公司的点到点通讯模块CP340,通过集成在CP340通讯模块中ASCII码通讯协议通过RS485网络读取仪表中的数据。
2、通讯系统构成及仪表协议
在本自动化生产线中,要求将13台SR93仪表的温度实际数值、设定数值等通过CP340通讯模块读取到PLC中,其网络的结构如下所示:
图1
SR93温控仪表与PLC之间构成的网络为RS485网络,双方以9600bps的通讯速率进行通讯,以下为CP340模块和SR93温控仪表及通讯协议的简单介绍。
(1)、CP340模块
CP340通讯处理器是Siemens公司提供的点到点连接的串行通讯的低成本解决方案,它可以在Simatic S7-300和ET200M中使用,该通讯模块提供了三种不同形式的传输接口:
a、RS232C()
b、20mA(TTY)
c、Rs422/Rs485
该模块可以实现ASCII码,3964(R)和打印机驱动三种通讯协议,通过集成在STEP 7中的参数化工具可进行简单的参数化,其设置主要包括通讯方式(波特率、数据位数、停止位数和奇偶校验)、接收帧结束方式、接口方式(485 Or 422)等,对于同Sr93温控仪表通讯,本设计中可以设置为:a、接收帧结束方式:接收到固定的36个字节的数据
b、通讯方式:9600,8,n,1
c、接口方式:RS485,其余的设置为默认方式。
(2)、SR93系列温控仪表通讯参数
SR93系列温控仪表是日本岛电公司生产的高性能单回路调节器,级控制精度,提供PID、自适应PID控制算法和RS485、RS232通讯接口,而且仪表为模块化设计,可以根据用户的选择安装相应的模块。为了能够与CP340模块通讯,需要设置仪表中的参数为:
序号仪表中参数符号设置数值说明
1 Addr 1-255 仪表通讯地址,范围为1-255
2 Data 8n1 通讯数据格式,8位数据位,无校验,1位停止位
3 Schr Att 通讯控制码起始码文本结束码结束码
@(40H) “:”(3AH) CR(0DH)
4 Bcc 3 校验码计算方式:异或 Xor
5 BPS 9600 通讯波特率:9600b/s
(3)、SR93系列温控仪表通讯协议
SR93系列温控仪表的通讯协议是日本岛电公司自定义的ASCII码通讯协议,其主要包括读数据命令、写数据命令、应答数据命令。
A、读写数据发送命令
SR93系列温控仪表的读写发送命令基本相似,其命令格式如下所示:
图2
发送命令中所有的位置都必须采用ASCII码方式,其通讯发送命令格式的解释如下:
a、通讯的起始符,占用一字节,“@”(40H);
b、通讯仪表地址,占用两字节,由8位二进制转换而成,地址范围1-255,这8位二进制码被分成高4位和低4位,其中高4位被送入(2)中,低4位被送入(3),并转换成ASCII码,如仪表地址为10,则(2)中为30H,(3)中为41H;
c、通讯仪表地址的子地址,占用一字节,固定为“1”(31H);
d、通讯命令类型,占用一字节,“R”(52H)表明在上位机发送或仪表应答中的读命令,“W”(57H)表明在上位机发送或仪表应答中的写命令;
e、通讯命令读取数据的起始地址,占用四字节,由16位二进制代码转换而成,这16位被分成四组,并转换成相应的ASCII码,如读取的起始地址为0100,则(6)为30H,(7)为31H,(8)为30H,(9)为30H;
f、通讯中连续读取数据的数量,占用一字节,表明上位机要连续读取多少个参数,取值范围为“0”(30H)~“9”(39H),最多一次读取10个数据;
g、通讯数据,字节数量取决于写数据的数量,数据总以“,”(2CH),数据项与数据项之间不需要任何分隔符,数据的长度主要取决于第(10)的数值,每一个数据项由16为二进制代码组成(1个字),每4为被分成一个数据单元,同时每个数据单元又被转换成ASCII 数据,当(5)为“R”读命令时,该项没有;
h、数据发送结束符,占用一字节,“:”(3AH),所有数据和命令在此位之前都已发送完成;
i、 BCC块校验,占用两字节,这里采用Xor方式,BCC校验数据被分成高4位和低4位,并被转换成ASCII码,当校验码错误,仪表将没有响应,设有如下的发送数据,其BCC计算方式如下:
例:STX 0 2 1 R 0 1 0 0 0 EXT 6 A CR
(30H)?(32H)?(31H)?(52H)?(30H)?(31H)?(30H)?(30H)?(30H) =6AH
BCC校验结果⒀:"6"=36H ⒁:"A"=41H
j、回车符,一字节,CR(0DH)
B、仪表应答格式