- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MVI56-MCM模块在ControlLogix 中的配置
操作步骤如下:
启动RSLogix 5000编程软件,1756-L55处理器位于第0槽,控制器名字为MVI56MCM。
1756-CNBR位于第2槽。
添加新模块MVI56-MCM,位于第11槽,配置如下:
按照MVI56-MCM的DEMO程序,配置MCM1控制器标签。
修改MCM1.ModDef标签:
其中WriteStartReg为0,写的起始地址;WriteRegCnt为600,写的数量;占用MCM内部地址0-4999中的0-599;
其中ReadStartReg为600,读的起始地址;ReadRegCnt为600,读的数量;占用MCM内部地址0-4999中的600-1299;
BPFail为3,CPU和MCM通讯失败后,是否继续通讯(次数);
ErrStatPtr为1100,存放错误/状态数据的地址,与开放的写与读的地址大小有关,在这里不能超过600+600=1200。
5、配置ModBus端口地址(Port 0):
Port[0].Enabled为1,使能位;Port[0].Type为0,Port 0为Master;
波特率19200,无校验,8位数据位,1位停止位;Port[0].CmdCount为5,从主站到从站有5个命令。
Port[0].CmdErrPtr为1000,存放命令错误表,与开放的写与读的地址大小有关,在这里不能超过600+600=1200;Port[0].RespTO为1000ms,命令出错延时;Port[0].Retry_Count为3,命令出错后请求重复的次数;Port[0].ErrorDelayCntr为22,命令出错计数。
6、配置主站到从站的命令(每个端口最大可以到100个命令):
命令0:功能代码为3,从子站连续读寄存器地址,数量为10个,MCM内部地址为600-609,子站节点为1,子站ModBus开始地址为0,即40001-40010,读上来的数据存放在ReadData[0]- ReadData[9];
命令1:功能代码为3,从子站连续读寄存器地址,数量为10个,MCM内部地址为610-619,子站节点为1,子站ModBus开始地址为10,即40011-40020,读上来的数据存放在ReadData[10]- ReadData[19];
命令2:功能代码为3,从子站连续读寄存器地址,数量为40个,MCM内部地址为630-669,子站节点为1,子站ModBus开始地址为20,即40021-40060,读上来的数据存放在ReadData[30]- ReadData[69];其中MCM内部地址为620-629未使用。
命令3:功能代码为15,从主站连续写位地址到子站,数量为16位(1个寄存器字),MCM内部位地址为0(即寄存器字0/00-0/15,共16位),子站节点为1,源数据存放在WriteData[0] /00-/15;写到子站ModBus开始位地址为1600(第100个寄存器字),即01601-01616;
命令4:功能代码为1,从子站连续读位地址,数量为96位(6个寄存器字),MCM内部位地址为11200-11295(即寄存器字700/00-705/15,共96位),子站节点为1,子站ModBus开始地址为0,即00001-00095,读上来的数据存放在ReadData[100]- ReadData[105]。
说明:在读/写寄存器地址时,IntAddress、Count与DevAddress均为寄存器地址;而在读/写位地址时,IntAddress、Count与DevAddress均为位地址。
IntAddress为MCM的内部起始地址,起始字或起始位;
Count为所需读/写的寄存器或位的数量,多少字或多少位;
DevAddress为子站的数据起始寄存器地址或位地址,起始字或起始位;
例如:
前面提到的位11200,它是一个位地址,是从寄存器700开始700*16=11200;
前面提到的位1600,它也是一个位地址,是从寄存器100开始100*16=1600;
前面提到的位16,需写入16位,共1个字, 1*16=16;
前面提到的位96,需读96位,共6个字,6*16=96。
文档评论(0)