推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

S系列I/O前端与PLC的连接

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:51    评论:0    

按此在新窗口浏览图片
S系列I/O前端与可编程控制器的连接

一、概述
    PLC(可编程控制器)应用广泛,其CPU功能较强,可靠性高,但在输入输出I/O方面,PLC存在价格过高,扩展模块不隔离,输入信号还要进行编程运算来完成采集,品牌繁多,互不兼容,用户使用起来不方便等缺点。我公司研制生产的S系列I/O前端具有模入(AI)、模出(AO)、开入(DI)、开出(DO)等功能;规格多样;工程量值输出;RS485通讯接口;灵活的通讯协议;扩展简捷;价格低廉。但在复杂控制等应用场合较PLC就有所欠缺,而PLC的优势恰恰在此。S系列I/O前端可以方便地与各种PLC构成秒级的多点数据采集和控制系统,并可更快捷地融入已有的采集控制系统当中,大大降低系统工程费用。二者结合可以弥补各自的缺陷,使系统达到良好的性价比。
下面以西门子S7-200(CPU226)和S系列I/O前端连接所构成的采集控制系统为例,展示这种方案的优势所在:
1. S系列I/O前端与PLC的接口程序软件由我公司编写并无偿提供给用户,用户只要将该段程序嵌入自己的程序中即可。用户在PLC编程中或在上位机读写S系列I/O前端的输入输出数据时,只和PLC中的I/O数据映射区(位于V区内)打交道,大大减少了用户工作量和编程复杂程度。
2. 采用PLC的自由通讯口与S系列I/O前端连接(RS485总线),方便地扩展至少32个模块。
3. 扩展系统AI/AO点最多达512点,DI/DO点最多达1024点,极大的拓展了PLC的I/O点数。
4. 现场独立安装,扩展灵活,多样,调试方便。
5. 模拟量为直接工程量值,无需编程运算完成采集及输出。
6. 具有通道与通道之间隔离,现场与计算机隔离特性。
7. 利用PLC的CPU丰富资源,使整套系统具有可编程及PID等控制功能,并可脱离上位机独立运行。
8. 利用PLC的通讯扩展模块,使系统简捷地接入以太网络及PROFIBUS-DP总线网络。
9. 特别适合于各种场合的秒级采集控制应用。
二、连接要点及注意事项
● S7-200(CPU226)具有两个RS485通讯口,通讯口1(PORT0)与上位机相连;通讯口2(PORT1)以自由口方式与S系列I/O前端的RS485通讯线相连。
● 通讯口2(PORT1)通讯速率为38400 bps,8位数据位,1位停止位,无奇偶校验。
● 通讯方式为主从式,PLC为主,S系列I/O前端为从。
● PLC与S系列I/O前端的通讯电缆连接对应表
PLC的9针插头------------S系列I/O前端的接线端子
3 ------------  37 (RS485 A )
5  ------------   35 (RS485 地)
8  ------------  36 (RS485 B )
● 用户在使用之前应将S系列I/O前端的站址设置好,并将通讯速率设置为38400 bps,通信协议为S_PLC。
● 如果有多个(N个)S系列I/O前端,站址应从01开始,依次至N为止,连续不得跳跃。
● 通讯协议(参见后面说明)的具体细节用户可忽略。S系列I/O前端与PLC的接口程序名为S_PLC 。
● PLC将对各S系列I/O前端不停进行循环采集及控制输出,1秒之内即可将32个S系列I/O前端采集或输出控制完毕。
● 采集及输出控制单元皆存放于固定V变量区,由用户读取或写入(模拟信号读取或写入格式为INT)。占用V区空间从V3900起始,占用1124字节,即到V5024结束 ,其中V3900~3933为连接S系列I/O前端定义前端个数及型号定义区;V4000~V5024为S系列I/O前端输入输出数据映射区,每个I/O前端分配32个字节,连接32个前端时共计为1024 字节(参见I/O数据映射区说明)。
三、连接程序说明
    S系列I/O前端与 S7-200(CPU226)的连接程序(程序名称为S_PLC)包含一个主程序,8个子程序和3个中断服务程序。3个中断服务程序分别是端口1(PORT1)接受信息完成中断(事件号为24)、端口1(PORT1)发送字符中断(事件号为26)、定时中断0(事件号为10,定时中断时间间隔寄存器为SMB34)。
主程序(MAIN)进行通讯口2(PORT1)的初始化,并触发发送字符中断,启动S7-200(CPU226)对S系列I/O前端的通讯。当与一个S系列I/O前端通讯完成后,由接收中断程序自动启动与下一个站址S系列I/O前端的通讯,如此循环往复。定时中断0程序是对发送字符和接收信息完成中断超时(>50ms)的处理,该程序将停止对这两个中断的响应并启动下一个站址的S系列I/O前端的通讯工作。
用户只要将该段主程序(MAIN)嵌入自己的主程序中,将余下的子程序和中断服务程序置入用户系统程序中,然后修改USER_SET子程序,根据所需连I/O前端的个数及型号定义V3900~3933变量区即可。
主程序及其说明如下:
Network1
LD  SM0.1 //首次扫描
DTCH  24    //关接收中断
DTCH  26    //关发送中断
DTCH  10    //关超时中断
MOVD  +0,VD3996  //清除32个站的超时标志
MOVB  16#01,SMB130  //初始化PORT1口为自由口,通讯速率=38400 bps,
CALL  USER_SET   //调用用户初始系统子程序
CALL  FIRST_SET  //系统第一次运行初始化
ENI      //启动中断
CALL  FILL_COMMAND  //发送取数据命令
CALL  GET_FCS1   //求命令校验码
Network2
LD  SM0.0
CALL GO_PATH   //启动循环
四、连接I/O定义区说明
1.连接S系列I/O前端个数定义单元:  VB3900 1 字节 (用户设置)
2.站址连接S系列I/O前端型号定义单元: VB3902~VB3933 32 字节 (用户设置)
每个站址所连接的S系列I/O前端的型号均由一个字节定义,VB3902为01号站址对应连接S系列I/O前端型号定义单元 ,VB3933为32号站址对应连接S系列I/O前端型号定义单元,用户通过修改USER_SET子程序完成对VB3900及 VB3902~VB3933等定义单元的更改。
各型S系列I/O前端对应代码如下:
◆ S1104=0 S1204=0
◆ S1108=1 S1208=1
◆ S1116=2 S1216=2
◆ S1316=6
◆ S1332=7
◆ S1416=8
◆ S1504=9
五、I/O数据映射区说明
I/O数据映射区: VB4000 1024 字节(每站占32字节) (用户读写)
以第1号站址为例,起始I/O数据映射区地址为VB4000;(第N号站址I/O数据映射区起始地址为VB4000+(N-1)×32)
◆ S1104,S1204
4个模拟量输出占前8个字节 (VW4000) 读 字
◆ S1108,S1208
8个模拟量输出占前16个字节 (VW4000) 读 字
◆ S1116,S1216
16个模拟量输出占前32个字节 (VW4000) 读 字
◆ S1316
A: 16个开关量输入占前 2 字节 (VB4000) 读
B: 8 个开关量输出占第 3 字节 (VB4002) 写
C: 8 个线圈状态占第 4 字节 (VB4003) 读
◆ S1332
32个开关量输入占前 4 字节 (VB4000) 读
◆ S1416
A: 16个开关量输出占前 2 字节 (VB4000) 写
B: 16个线圈状态占后 2 字节 (VB4002) 读
◆ S1504
A: 8 个开关量输出占第 1 字节 (VB4000) 写
B: 8 个线圈状态占第 2 字节 (VB4001) 读
C: 4个模拟量输出从第 3 字节开始,占8 字节 (VW4002) 写 字
D: 4个保持寄存器从第 11字节开始,占8 字节 (VW4010) 读 字
六、占用PLC软件和硬件的资源
 1.占用软件资源
  主程序两个节点,三个中断服务程序,8个子程序。三个中断为:
  ●端口1(PORT1)接受信息完成中断(事件号为24)。
  ●端口1(PORT1)发送字符中断(事件号为26)。
  ●定时中断0(事件号为10,定时中断时间间隔寄存器为SMB34)。
 2.占用硬件资源
  ●占用程序空间:大约2500字节。
  ●占用V区:V3900~V5024。
  ●时间间隔寄存器为SMB34。
●端口1(PORT1)
七、S_PLC协议说明
该协议除了校验码,其他同MODBUS协议。MODBUS协议的校验码为两个字节CRC校验码,S_PLC协议变成1个字节FCS校验码加一个字节FF。FCS校验码为所命令或返回数据按字节异或后的结果。
八、USER_SET子程序举例说明
该例子为PLC连接5个S系列I/O前端时,修改USER_SET子程序例子,其中第一个前端(站址为01)型号为S1116,第二个前端(站址为02)型号为S1216,第三个前端(站址为03)型号为S1316,第四个前端(站址为04)型号为S1416,第五个前端(站址为05)型号为S1504。具体设置如下程序:
Network1
LD  SM0.0
MOVB  +5,VB3900   // 系统站址个数(S系列I/O前端个数)
MOVB  +2,VB3902   // 01号站址对应S系列I/O前端型号为S1116
MOVB  +2,VB3903   // 02号站址对应S系列I/O前端型号为S1216
MOVB  +6,VB3904   // 03号站址对应S系列I/O前端型号为S1316
MOVB  +8,VB3905   // 04号站址对应S系列I/O前端型号为S1416
MOVB  +9,VB3906   // 05号站址对应S系列I/O前端型号为S1504

九、用户应用举例说明
该例子示范了用户如何将S_PLC程序和自己的软件结合在一起。
首先用户将S_PLC程序中的主程序并入自己的主程序中(Network1和Network2是S_PLC 程序,Network3以下为用户应用程序,见以下程序);将余下的子程序拷入用户自己的项目程序中即可。用户要根据自己实际工况来修改USER_SET子程序(参见上述章节)。
Network1
LD  SM0.1 //首次扫描
DTCH  24    //关接收中断
DTCH  26    //关发送中断
DTCH  10    //关超时中断
MOVD  +0,VD3996  //清除32个站的超时标志
MOVB  16#01,SMB130  //初始化PORT1口为自由口,通讯速率=38400 bps,
CALL  USER_SET   //调用用户初始系统子程序
CALL  FIRST_SET  //系统第一次运行初始化
ENI      //启动中断
CALL  FILL_COMMAND  //发送取数据命令
CALL  GET_FCS1   //求命令校验码

Network2
LD  SM0.0
CALL GO_PATH   //启动循环

Network3 //用户应用程序
LD  SM0.0
MOVW VW4000,AC0  
MOVW  AC0,VW1000  //将S1116(一号站)的第一通道测量值放入VW1000
MOVW 16#2500,VW4128 //置入S1504(五号站)的第一模拟量输出值

 


 

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON