优化Twido及Micro中与Modbus多子站通讯程序的方法

优化Twido及Micro中与Modbus多子站通讯程序的方法1•概述Modbus通讯协议是施耐德电气开发并对外完全公布其细节的开放式通讯协议,得到众多厂商的广泛支持,从而有大屋的第三方设备支持Modbus通讯,目前Modbus协议已经成为事实上的工业通讯标准,并被我国列为国标之一。在冃前工业控制中使用Modbus协议越來越普遍的情况下,一台PLC与多台支持Modbus协议的设备进行通讯的应用也成为目前的一种趋势,在这种应用中通过一条或数条Modbus总线,连接多个设备,替代老式设备中的模拟量加数字虽的控制方式,既能更加灵活地完成控制要求,乂能节约大星的模拟呈加数字量,从而降低设备的成本。虽然在PLC中对Modbus通讯编程非常简单,但如果在Modbus总线上有多个子站需要通讯时,PLC中程序的篇幅会非常长,并占用很多PLC的内部寄存器资源。2在施耐德电气的PLC编程软件中的更好的实现方法在这里以施耐徳电气的Twido系列PLC为例进行介绍。基于编程语言的相似性,以下程序实现方法在施耐徳电气的Micro及Premium系列PLC(PL7Pro平台下)很容易移植。先看一下在Twido中实现与一个Modbus了站(以施耐徳电气的ATV31变频器为例)通讯的程序段:RUNG4XMV200.»16«OIO6XMV201■1加300XMV2O2:z16*0103%MV200>16«0C«1RUNG5^VSDOICMO^LFR%MV2tO•1G#0»CXMV21I^K»OOOZXMV212a16#0t10«MV2W•1G#2t?5MMV2H=I64W0O2KMV215a1t-#£l0O4在上面的示范程序中,主要为Modbus通讯所需的数据区填写相应的内容,详细说明请参考Twido的手册或其帮助文件。数据区准备完成后需要用.E血指令将该数据区发送出去:RUNG6发送通谏数悔区.STAT作通iK検気擅示.可*tf£?XM5IEXCH2%KW2O0:9IXM52EXCH2XMW2101INS69-------------------------------------------------------------------a>-------如果与多个Modbus子站通讯时,就要编写多个与上述程序段长度相同而内容略有不同的程序段。在重复做这部分程序时,使程序的篇幅大大加长,占用大量的内部资源(如内部字MW),并使得PLC的扫描周期加长,这样来,使编程者需要考虑如何优化这类的程序,使之更加简洁髙效。分析上面的通讯程序,会得到几个提示:1、不同子站Modbus通讯的数据区除子站地址部分外是完全一样的:2、数据区发送出去的交换指令格式是完全一样的3、在某一时刻,PLC只能做一条读或写操作(广播方式除外)4、读操作读冋的数据在数据区起始位宜的偏移屋为6处开始(请参考相应资料)从上面几点分析箱手,完全可以将与多个Modbus子站通讯优化,只要处理好在某一时刻将要与之通讯的子站地址填写好,在通讯数据区用交换抬令发送出去之后,及时将读回来的数据取出并保存好即可。下面对实现这一功能的程序的部分程序段做一说明,在这个程序中以读施耐德电气的3台ATV31变频器的状态及输出频率,并通过通讯控制ATV31的运行频率。为减小本文的长度,在这个程序ATV31的启停及正反转控制用端子实现,在实际应用中,川通讯完成变频器的启停及正反转控制也是完全没有问题的。与每一个子站通讯的时间长度控制,其中M2由系统时钟位S5产生:在程序中需要使用一个计数器來控制PLC与某一台ATV31的具体的通讯:RUMG2较制与PLCifttR的子站0及亜谄癸型的禺J?>0ClV>«XC1P%CIRE■ADJY究M0-------1I------------------S江炉6D-XCODcuF■CD此计数器的作丿IJ在后面的程序中可以体现出来。填写逋讯数据区中每个子站不相同的部分,这部分数据必须存放两个连续的数据区中,以使后面的数据取出程序能使用间接寻址的方式,这也是优化程序的一个比较关键之处。在这一例了程序中,将变频器的输出频率值的控制简化了,使3台变频器的速度全部为30H乙实际使用时,可能参考后面的读操作返回数据的保存方式,运用间接寻址方式编写出相应的代码:RUNG33咅¥SD的欢的地址及屢曲令XJW40I:x16*010316.0303HUNG43台¥SO曲芍的地址最耳命令如衬431*16*0110如诃433;KK0J10如//2箔二300根据调度计数器的当前值,将与之对应的子站数据调入(使用了间接寻址):如V/個:«XC1.VREM2焙4W482上%C1V/2%MV48t.O皿TW202■%MV4O<XMV482]XMV/232■^MV43<%MV482]通讯数据区中相同部分的填写(注意其中MW202及MW232由上面程序完...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?