S系列I/O前端与可编程控制器的连接 点击:1246 | 回复:1



XMH-L

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 8回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2004年6月14日
发表于:2004-06-14 17:10:00
楼主
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,定时中断时间间隔寄存



li8801

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 523回
  • 年度积分:0
  • 历史总积分:561
  • 注册:2005年3月30日
发表于:2005-06-08 11:48:00
1楼
!

热门招聘
相关主题

官方公众号

智造工程师