| 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | 
 | 校园招聘 | 留言板 | 
您现在的位置: 自动化学习网 >> 技术文章 >> PLC可编程 >> 文章正文 用户登录 新用户注册
Siemens CP340模块与岛电SR93温控仪表之间的ASCII码通讯           ★★★ 【字体:
Siemens CP340模块与岛电SR93温控仪表之间的ASCII码通讯
作者:佚名    文章来源:本站原创    点击数:    更新时间:2007-3-21    

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所示:


图1     网络结构图


     SR93温控仪表与PLC之间构成的网络为RS485网络,双方以9600bps的通讯速率进行通讯,以下为CP340模块和SR93温控仪表及通讯协议的简单介绍。

2.1  CP340模块
(1) 三种传输接口
CP340通讯处理器是Siemens公司提供的点到点连接的串行通讯的低成本解决方案,它可以在Simatic S7-300和ET200M中使用,该通讯模块提供了三种不同形式的传输接口:
· RS232C(V.24);
· 20mA(TTY);
·RS422/RS485(X.27)。
该模块可以实现ASCII码,3964(R)和打印机驱动三种通讯协议,通过集成在STEP 7中的参数化工具可进行简单的参数化,其设置主要包括通讯方式(波特率、数据位数、停止位数和奇偶校验)、接收帧结束方式、接口方式(485 or 422)等。

(2) CP340模块与SR93温控仪表的通讯方式
对于同SR93温控仪表通讯,本设计中可以设置为:
·接收帧结束方式:接收到固定的36个字节的数据;
·通讯方式:9600,8,n,1;
·接口方式:RS485,其余的设置为默认方式。

2.2  SR93系列温控仪表通讯参数
     SR93系列温控仪表是日本岛电公司生产的高性能单回路调节器,0.3级控制精度,提供PID、自适应PID控制算法和RS485、RS232通讯接口,而且仪表为模块化设计,可以根据用户的选择安装相应的模块。为了能够与CP340模块通讯,需要设置仪表中的参数,如附表所示:


2.3  SR93系列温控仪表通讯协议
    SR93系列温控仪表的通讯协议是日本岛电公司自定义的ASCII码通讯协议,其主要包括读数据命令、写数据命令、应答数据命令。
(1) 读写数据发送命令
     SR93系列温控仪表的读写发送命令基本相似,其命令格式如图2所示:


图2     SR93系列温控仪表的命令格式


发送命令中所有的位置都必须采用ASCII码方式,其通讯发送命令格式的解释如下:
·通讯的起始符:占用一字节,“@”(40H);
·通讯仪表地址:占用两字节,由8位二进制转换而成,地址范围1-255,这8位二进制码被分成高4位和低4位,其中高4位被送入图2中的②内,低4位被送入图2中的③内,并转换成ASCII码,如仪表地址为10,则图2中的②为30H,图2中的③为41H;
·通讯仪表地址的子地址:占用一字节,固定为“1”(31H);
·通讯命令类型:占用一字节,“R”(52H)表明在上位机发送或仪表应答中的读命令,“W”(57H)表明在上位机发送或仪表应答中的写命令;
·通讯命令读取数据的起始地址:占用四字节,由16位二进制代码转换而成,这16位被分成四组,并转换成相应的ASCII码,如读取的起始地址为0100,则图2中的⑥为30H,图2中的⑦为31H,图2中的⑧为30H,图2中的⑨为30H;
l通讯中连续读取数据的数量:占用一字节,表明上位机要连续读取多少个参数,取值范围为“0”(30H)~“9”(39H),最多一次读取10个数据;
·通讯数据:字节数量取决于写数据的数量,数据总以“,”(2CH),数据项与数据项之间不需要任何分隔符,数据的长度主要取决于图2中的第⑩的数值,每一个数据项由16为二进制代码组成(1个字),每4为被分成一个数据单元,同时每个数据单元又被转换成ASCII数据,当图2中的⑤为“R”读命令时,该项没有;
l数据发送结束符:占用一字节,“:”(3AH),所有数据和命令在此位之前都已发送完成;
lBCC块校验:占用两字节,这里采用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
l回车符:一字节,CR(0DH)。

(2) 仪表应答格式
     从图3的通讯帧格式可以看出,与上位机发送帧基本一致,唯一的区别在图3中的e项应答代码,两字节,由8位二进制代码转换而来,这8位被分成高4位和低4位,并转换成相应的ASCII码,可以通过查询应答代码表来检查错误。


图3    通讯帧格式


3  软件实现方法
     要通过CP340通讯模块同SR93系列温控仪表之间的通讯,PLC程序的设计也是一个比较重要的环节,其主要包括CP340发送读取数据命令程序、CP340发送写数据命令程序、CP340接收仪表数据通讯程序以及对读取到的数据进行处理的程序。

(1) CP340发送读取程序的设计
     考虑到系统有13块仪表,采用轮询的方式访问每块仪表,而对于发送读取数据的DB块仅是仪表地址和BCC校验码不相同,因此,所有的仪表采用一个相同的DB块来执行,根据不同的仪表号修改相应的BCC校验码和仪表地址。发送数据的DB块结构如图4所示:


图4    发送数据的DB块结构


     仪表地址的修改采用周期中断OB35来执行,每中断一次,仪表号加1,直到13为止,然后回到地址1重复执行。至于发送命令的设计则采用如下程序来执行:
L    "Computer Link Instru".Instr_No//仪表号1
L    1              
= =I  //仪表号与1比较,是否该与1号仪表通讯   
JCN  m010    //如果不是,跳转比较下一号仪表
L    B#16#30 //是,将1号仪表的仪表号和BCC送入发送DB中
T    "P_SEND Data R".DB_VARO[2]
L    B#16#31
T    "P_SEND Data R".DB_VARO[3]
L    B#16#36
T    "P_SEND Data R".DB_VARO[12]
L    B#16#43
T    "P_SEND Data R".DB_VARO[13]   
L    7           //接收数据的DB块地址
T    MW  50
JU   m100
M010:"Computer Link Instru".Instr_No
                 //仪表号2
……             //其他仪表如上处理
CALL  "P_SEND","P_SEND Instance DB"
                 //调用发送数据FB块
REQ  :=MO.4    //定时时钟脉冲,0.8s
R    := "Computer Link Instru".W_En
                 //隐蔽发送块位
LADDR  :=256    //CP340地址
DB_NO  :=2      //发送数据块地址
DBB_NO :=0      //发送数据起始地址
LEN    :=14     //发送数据长度
DONE   :=1.0
ERROR  :=1.1
STATUS :=MW100

(2) CP340发送写数据程序的设计
     由于系统对仪表进行写数据操作不是一个连续的过程,仅是在需要的时候才发送命令到仪表中,因此,发送写数据程序不能采用连续调用过程,而是采用一个脉冲调用,同时在发送写数据命令时,一定要屏蔽读数据命令的发送。由此,写数据PLC程序设计如下所示:
A    M  0.3 //0.5s的脉冲信号,由PLC时钟产生
A    "Computer Link Instru".W_En
               //屏蔽读取数据命令的发送
JCN  m011
CALL "Write Data" 
               //调用写数据发送命令块
M011: NOP 0
A   "Computer Link Instru".W_En 
//对屏蔽读取数据命令1s后恢复读取数据命令
  FR  T  0   //同时,将屏蔽读取命令位置0
L   W#16#2001
SD  T  0
A   T  0
R   "Computer Link Instru".W_En
对于写数据发送命令程序块,主要完成填写设置数据地址、BCC码计算、仪表地址的修改和设置数据的填写,最后调用发送FB3将数据发送到对应的仪表。

(3) CP340接收程序的设计
接收程序的设计比较简单,其程序如下:
CALL  "P_RCV","P_RCV Instance DB"
                     //接收数据FB块,FB2
EN_R  :=TRUE        //TRUE允许数据接收
R     :=FALSE
LADDR :=256          // CP340地址
DB_NO :=MW50       //数据放置的DB号
DBB_NO:=0
NDR   :=M1.2
ERROR :=M1.3
LEN   :=MW104
STATUS:=MW106
而接收数据的DB块,只需要定义成BYTE类型的数组,并且长度不小于39字节就可以了,对于每次从温控仪表中读取的数据放入到不同的DB块中。

(4) ASCII码通讯结果处理
     由于SR93系列温控仪表发送回来的数据都是将实际的16位数据转换成4位ASCII码传输过来的,如实际数据为42(十六进制:002AH),则在DB块中得到的数据为30H,30H,32H,41H,而且高数据位在DB块的低地址上,因此为了便于上位机的显示就需要对此数据进行转换,其中最高一位的处理方法如下所示,其他位的转换方法与此类似,仅是左移位数不同。
L   DB12.DBB   8     
//将读到的ASCII码数据放入DBW54中
T   DB6.DBB    55
L   0
T   DB6.DBB    54
L   DB6.DBW    54    //将数据减去30H
L   W#16#30
-I
T   DB6.DBW    54
L   DB6.DBW    54    
//将减去30H的结果与9相比
L   9
>I
JCN m100
L   DB6.DBW    54  
//若结果大于9,说明为A-F的数值,再减去7
L   7                 //得到10-15的数值
-I
T   DB6.DBW    54
m100: L   12          //将数据左移12位后
L   DB6.DBW 54
SLW
T   DB6.DBW  54
L   DB6.DBW  56      
//与保存结果的DBW进行或运算,得到高位的数据
L   DB6.DBW  54
OW
T   DB6.DBW  56

4  结束语
     通过使用点到点串行通讯模块CP340与SR93系列温控仪表通过RS485网络以ASCII码方式进行通讯,读取仪表中温度测量值、设定值等,同时可以通过PLC进行远程设置温控仪表中的数据,极大方便了现场的控制和操作。由此看来,利用CP340通讯模块和ASCII码通讯协议来解决Siemens PLC与第三方智能控制仪表之间的通讯是一个值得推广的方式,在实际的控制系统中,一定会取得更加成功的应用。

参考文献
[1] Simatic CP340 Point to Point Communication Installation and Parameter Assignment Manual[Z]. Siemens A&D Company,2004-04,Edition 4.
[2] SR90 Series Digital Controller Communication Interface (RS232C/RS-485) Instruction Manual[Z]. SHIMADEN CO.,LTD.,DEC.2001.

作者简介
翁根春(1977-)  男  硕士研究生  2003年毕业于西安建筑科技大学信息与控制工程学院工业自动化系,现在北京奥托曼自动化控制工程技术有限公司,主要从事石油石化行业站控系统的设计、调试。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      最新热点   最新推荐   相关文章
    建材行业工控自动化现状与趋…
    基于台达机电产品的DeviceNe…
    基于现场总线的连铸机控制系…
    基于现场总线的电子清纱器网…
    S7 PLC与WINCC的MPI通讯
    基于西门子CP340的通讯模块在…
    PLC 应用案例
    基于PLC交通信号灯控制系统在…
    三相多功能电能表技术发展的…
    针对PIC微控制器的设计窍门
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)