发表于:2006-11-07 17:28:00
楼主
一、概述
PLC(可编程控制器)应用广泛,其CPU功能较强,可靠性高,但在输入输出I/O方面,PLC存在价格过高,扩展模块不隔离,输入信号还要进行编程运算来完成采集,品牌繁多,互不兼容,用户使用起来不方便等缺点。我公司研制生产的S系列I/O产品具有模入(AI)、模出(AO)、开入(DI)、开出(DO)等功能;规格多样;工程量值输出;RS485通讯接口;灵活的通讯协议;扩展简捷;价格低廉。但在复杂控制等应用场合较PLC就有所欠缺,而PLC的优势恰恰在此。S系列I/O前端可以方便地与各种PLC构成秒级的多点数据采集和控制系统,并可更快捷地融入已有的采集控制系统当中,大大降低系统工程费用。二者结合可以弥补各自的缺陷,使系统达到良好的性价比。
下面以施耐德电气的Twido系列PLC(以型号为TWDLCAE40DRF为例)和S系列I/O前端连接所构成的采集控制系统为例,展示这种方案的优势所在:
1.Twido系列PLC支持标准MODBUS主协议和从协议,可方便地和上位机(PC机)和扩展模块(例如S系列I/O前端)通讯,并且无论从硬件上还是软件上都能做到无缝连接,大大简化了用户搭建系统的复杂程度。Twido系列PLC具备两个通讯口,一个以太网端口,用户不必再购置其它设备即可方便搭建或者升级采集与控制系统,大大降低了系统成本。
2.S系列I/O前端与PLC的接口程序软件由我公司编写并无偿提供给用户,用户只要将该段程序嵌入自己的程序中即可。用户在PLC编程中或在上位机读写S系列I/O前端的输入输出数据时,只和PLC中的I/O数据映射区(位于%MW内存区内)打交道,大大减少了用户工作量和编程复杂程度。
3.采用PLC的通讯口2(COM2,RS485)与S系列I/O前端连接(RS485总线),方便地扩展至少32个模块。
4.扩展系统AI/AO点最多达512点,DI/DO点最多达1024点,极大的拓展了PLC的I/O点数。
5.现场独立安装,扩展灵活,多样,调试方便。
6.模拟量为直接工程量值,无需编程运算完成采集及输出。
7.具有通道与通道之间隔离,现场与计算机隔离特性。
8.利用PLC的CPU丰富资源,使整套系统具有可编程及PID等控制功能,并可脱离上位机独立运行。
9.利用PLC的自带Ethernet通讯口,使系统简捷地接入以太网络。
10.特别适合于各种场合的秒级采集控制应用。
11.特别适合于施耐德体系的工控工程中,扩展大量I/O点及降低系统造价。
二、连接要点及注意事项
●TWDLCAE40DFR具有两个串行5通讯口和一个Ethernet口,通讯口1(COM1)固定为RS485口,通讯口2(COM2)为RS232/RS485可选,本方案选用COM2为RS485方式与S系列I/O前端的RS485通讯线相连(PLC为主站,S系列I/O前端为从站);通讯口1(COM1)和Ethernet口可与PC机相连(作为PC机的从站)。
●通讯口2(COM2)通讯速率定义(在Twidosoft软件内)为38400 bps(或者小于38400),8位数据位,1位停止位,无奇偶校验。响应超时设置为1×100ms即可,帧延迟时间设置为10ms即可。
●PLC的Ethernet口需要在Twidosoft软件上设置IP地址,子网掩码,网关设置为和IP相同即可。
●通讯方式为主从式,PLC为主,S系列I/O前端为从。
●PLC与S系列I/O前端的通讯电缆连接对应表(PLC的COM2通讯模块为TWD NAC 485D,Mini-din连接器)
PLC的RS485连接器------------S系列I/O前端的接线端子
1 ------------ 37 (RS485 A )
2 ------------ 36 (RS485 B)
7 ------------ 35 (RS485 摒蔽地 )
●用户在使用之前应将S系列I/O前端的站址设置好,并将通讯速率设置为PLC的COM2口相同的通讯速率,通信协议为MOBUS(I),S系列I/O前端的其它参数,用户根据现场实际工况自行设置。
●如果有多个(N个)S系列I/O前端,站址应从01开始,依次至N为止,连续不得跳跃。
●PLC将对各S系列I/O前端不停进行循环采集及控制输出,1秒之内即可将32个S系列I/O前端采集或输出控制完毕。
采集及输出控制单元皆存放于固定%MW内存区,由用户读取或写入(模拟信号读取或写入格式为INT)。占用内存空间从%MW0起始,占用582字,即到%MW581结束 ,其中%MW0~%MW32为连接S系列I/O前端定义前端个数及型号定义区;%MW70~%MW581为S系列I/O前端输入输出数据映射区,每个I/O前端分配16个字,连接32个前端时共计为512 字(参见I/O数据映射区说明)。
三、连接程序说明
S系列I/O前端与Twido系列PLC的连接程序包含一个主程序,6个子程序。用户只要将该段主程序嵌入自己的主程序中,将余下的子程序和中断服务程序置入用户系统程序中,然后修改SR0(用户设置子程序),根据所需连I/O前端的个数及型号定义%MW0~%MW32内存区即可。
主程序及其说明如下:
LD %S13 // 首次扫描或者冷热启动
OR %S0
OR %S1
S %M0 // 启动通讯脉冲
[ %MW582 := 0 ] // 本系统占用内部存储空间说明
[ %MW34 := 1 ] // 当前通讯站号
[ %MW69 := 0 ] // 通讯完成标志
[ %MW68 := 1 ] // 上次通讯站号
[ %MD36&nbs