PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 1516|回复: 0

用S1116大量扩展台达DVP-EH模拟量通道

[复制链接]
发表于 2007-6-26 00:38:00 | 显示全部楼层 |阅读模式

前言:
台达DVP-EH系列PLC系列是工控同仁们常用型号之一,北京西姆宏仪器仪表有限公司是专业生产I/O产品的厂商,所生产的模拟量型前端产品S1116(16通道,标准电压、电流、热电阻、热电偶混接万能输入,工程量值)可以很方便的通过RS485通讯的方式,对DVP-EH系列进行模拟量输入通道的扩展(从16通道到256通道,1~16个站),既方便、简单、实用,又降低了扩展成本,而且还解决了使用PLC模拟量模块不易解决的现场隔离问题和扩展模拟量通道数量上的局限,以及采集模拟信号底层编程的麻烦,特别适合于需要较多模拟量信号秒级采集应用的场合。此连接亦适用于DVP-EH挂接S1216(两线制变送器信号专用型,16通道,内供电)型模拟量输入前端。以下就对此给予详细说明:
一、S1116与DVP-EH通讯说明
台达DVP-EH系列PLC的COM2口具备MODBUS主站读写指令(MODRW),但不支持MODBUS的04(读输入寄存器)号功能码,因此对S1116软件给予相应的修改(03号功能码与04号功能码通用),以使两者能够方便的通讯。
1.通讯线的连接
由于S1116采用RS485方式,通讯协议MODBUS(I),而DVP-EH的COM2也是RS485通讯口,因此S1116可以和DVP-EH的COM2直接相连(通过单根屏蔽双绞线)。
接线方法如下:
DVP-EH的COM2S1116(1号站)端子S1116(N号站)端子
RS485 ————37(RS485A)————37(RS485A)
RS485————36(RS485B)————36(RS485B)
G(PLC地)————35(RS485地)————35(RS485地)
2.通讯形式:(通讯方式为主从方式,DVP-EH为主,S1116为从)
波特率=19200bps
数据长度=8位
奇偶性=无
停止位=1位
最终D1120=H91。
3.S1116前端设置
●用户在使用之前应将S1116的站址设置好,并将通讯速率设置为19200bps,通信
协议为MODBUS(I)(S1116的其它参数,用户根据现场实际工况自行设置)。
●如果有多个(N个)S1116,站址应从01开始,依次至N为止,连续不得跳跃。
●通讯协议(参见后面说明)的具体细节用户可忽略。S1116与DVP-EH的接口程序名
为S_DVP-EH。
● DVP-EH将对各S1116进行循环读取,1秒之内约可读取8个S1116站的模拟量数据。
二、DVP-EH相关软件说明(S1116与DVP-EH的接口程序名为S_DVP-EH。)
软件使用M2000作为DVP-EH发送数据的触发脉冲,第一次由程序开始触发,以后的触发由一次收发工作都正常结束(M1127置起)或异常结束(M1129)来完成。
DVP-EH收到的通讯数据由MODRW指令在内部存放在D1296开始的16个数据寄存器中,再由本程序将16个通道数据放入指定(D2050开始)的数据寄存器中。
对于用户而言,只需在程序中简单定义D2000寄存器连接S1116的个数,再运行本程序,即可收取所挂接的各个S116的模拟量采集值(数据格式INT,工程量值)。
当通讯异常结束或超时,将置起该站对应的通讯异常标志位(D2007),以方便用户读取判断那个站通讯出现问题,并且该站对应内容将被写入10004,用户也可以从数据层面上判断通讯是否正常。
三、占用资源
1.M2000
2.E0
3.D2000~D2050 (站数×16),如果没有那么多站,则其对应空间将释放。
4.不占用中断
5.COM2口
四、寄存器分配使用说明
1.D2001:站号
2.D2000:站数(注意:需要由用户输入实际挂接的站数)
3.D2002~D2006:中间计算用
4.D2007:通讯异常标志(每站一位,16个站对应16位,正常为0,异常
为1,最低位为1号站)
5.D2008~D2049:通讯接收到的数据
6.D2050~D2065:第一站16通道数据
五、程序清单
LDM1002//第一次扫描
MOVK1D2001//第一个站号写入D2001
MOVK16D2000//站数写入D2000(本行程序中挂接站数由用户根据
需要自行定义!可选范围K1~K16,即1~16个站)
MOVK0D2007  //清除各站通讯异常标志位
MOVH0C91D1120//初始化通信格式(BPS=19200,8位数据位,1位停
//止位)
SETM1120//通讯设置保存
SETM1143//ASCⅡ/RTU模式选择,选择RTU方式
SETM2000//触发通讯脉冲

LDM1000
MODRWD2001K3H0D2008K16//串行数据传送命令。站址在
D2001内,3号功能码,取数据
地址为0,接受内容放入从
D2008开始的寄存器中,读取
16个数据。
LDPM2000
SETM1122//发送请求,开始发送(发送结束时自动复位)
MOVK2000D1129//置通讯超时时间=2000mS
RSTM2000//清除触发脉冲

LDM1127//通信结束,并且无超时标志。
RSTM1127//清除通讯结束标志位
SETM2000//触发下一次通讯
MOVD2001D2002
DECD2002
MULK16D2002D2004
MOVD2004E0
BMOVD1296D2050EK16
CALLP4//清除通讯异常标志
CALLP2//站号加1

LDM1129//通讯超时,且结束
CALLP1//往对应站号的空间写入10004,以指示数据异常
CALLP3//置通讯异常标志
CALLP2//站号加1
RSTM1129//清除超时标志位
SETM2000//触发下一次通讯

FEND//主程序结束

P001//写入通讯异常时数据为10004
LDM1000
MOVD2001D2002
DECD2002
MULK16D2002D2004
MOVD2004E0
MOVK0D2004
P005
LDM1000
MOVK10004D2050E
INCD2004
INCE
LDCJP5
SRET

P002//站号加1,如果大于站数则置为1
LDM1000
INCD2001
LD>D2001D2000
MOVK1D2001
SRET

P003//置通讯错误标志位
LDM1000
MOVK1D2006
MOVD2001D2005
P006
LD>D2005K1
ROLPD2006K1
DECD2005
CJP6
LDM1000
WORD2006D2007D2007
SRET

P004//清除通讯错误标志位
LDM1000
MOVK1D2006
MOVD2001D2005
P007
LD>D2005K1
ROLPD2006K1
DECD2005
CJP7
LDM1000
WXORHFFFFD2006D2006
WAND2006D2007D2007
SRET
END

注:1、本连接方法亦适用于S3000系列可配置I/O单元的S3116及S3216I/O卡件。
2、台达DVP系列PLC的其它型号,如ES/EX/SSRSA/SX等均可以以类似方法进行相应的
模拟量通道扩展,仅需对上述程序略加修改而已。

各位同仁如有问题请留下地址邮编电话,北京西姆宏仪器仪表有限公司有工程师为您提供服务。
恭候您的垂询,
网址:http://www.xmson.com.cn
  邮箱:xmson@xmson.com.cn
  联系电话:010-62250442或010-62241752
  联系人:李跃文工程师

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-20 00:51 , Processed in 0.042329 second(s), 24 queries .

快速回复 返回顶部 返回列表