登录
首页 » Others » AB PLC 与modbus 通信

AB PLC 与modbus 通信

于 2020-11-05 发布
0 525
下载积分: 1 下载次数: 1

代码说明:

AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102Sepam2000与远程监控系统之间的通信是采用 MODBUS协议的通信方式MODBUS的通信采用的是一种主/从式数据传输,在主从结构的通信方式中有一台主机,多台从机,主机可与各个从机作双向通信,而各从机之间不能通信。主机与各个从机通信的报文形式为请求/响应帧方式。每次通信均由主机发起,不需握手。主机发出请求帧后,等待从机返回响应帧直至响应时间超时。从机只能通过提供数据响应主机的请求,或根据请求做出相应的动作。MODBUS协议定义了主札请求的格式,包括:请求的编址,要求动作的功能码,传输数据和错误校验等。请求中的编址(即地址码)提供接收主机报文霉的从机地址,从机根据地址判别是否接受该请求,用户必须设置每台从机的地址。功能编码告诉指定编址的从机完成什么样的动作。数据字段屮包含了从机执行任务时所需的附加信息。例如,功能编码03表示读取从机的保持寄存器并w毁w.91{κ其中的内容,数据区中的信息就益领诉从机从哪个寄存器开始读,需要读的寄冇器数。错淏校验字段为从杋提供了信息完整性校验的方法。同样,响N→oomo应的格式也是采用 MODBUS协议结构,从杋响应的功能编码与接受的请求的功能编码相对应,数据字段包含根据请求返回的数据,错误校验字段允许主机确认信息内容是合有效。MODBUS协议共有24种功能编码,但是并不都适用于 Sepam2000,实际应用中Sepam2000只是支持下面有限的几种:01读取输出状态02读取输入状态03读取内部寄存器内容04读取输入寄存器内容05强制单个输出状态第3页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程10206刷新单个寄存器内容07读取异常事件状态08诊断测试11读取计数器和状态字15强制多个输出状态16刷新多个寄存器内容如果主机希望读取2号 Sepam2000从机中寄存器0805h-080Ah的内容,则需要调用功能03。主机请求和从机响应的帧格式如下:请求帧地址功能号数据起始寄存器编址寄存器数目错误校验字段030C0506CRC16w3M9HMo应帧:WwW PLCworld cn字节数据寄存器数据寄存器错误校地址功能号计数(0805)(080A)验字段03OCDatalData6CRC16而如果主机希望刷新2号 Sepam2000从机中寄存器0810h的内容并把寄存器内容设置为1000,则需要调用功能06。主机请求和从机响应的帧格式如下:请求帧:地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16响应帧:(返回收到的请求帧)地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16第4页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521Sepam2000的帧格式以及所执行的功能都有明确的定义,不能随意更改。在通信过程中,要确保主机和各从机的对应关系正确。此外,用户可以根据实际需要配置合适的传输波特率、宁符奇偶校验、停止位的个数等通信参数设置。四. AB PLC中 MODBUS协议的实现1.MCM模块的通信控制PROSOFT TECHNOL0GY公司的3100/3150-MOM通信模块,相当于网络接冂,PLC通过MoM模块与 MODBUS总线相连。MOM模块能快速、可靠地在 AB PLC中实现 MODBUS协议。3100/♂315σ0-MM通信模块可供用户选择使用主机模式或者从机模式。当MCM模块设定为主机,它对连接到总线上的从机进行控制,支持 MODBUS协议屮(01、02、03、04、05、06、15、16)8种功能编码,可以发送多达一百条定制的请求WM91H样am并支持以“广播”方式发出请求盖MCM模块指定为从机,它响应主机§的请求,此时能够支持 MODBUS协议中(01、02、03、04、05、06、08、15、16)9种功能编码。同时,无论是主机模式或者是从机模式,3100/3150MCM通信模趴都支持 ASCII和RTU两种传输模式当 AB PLC配置了3100/3150-MCM通信模块作为主机模式时,PLC采用周期扫描方式,按请求指令的顺序与从机交换数据。每次扫描期间,处理器使用逻辑写指令将主机内存中要输出到各从机的数据传送到3100/3150-MM通信模块屮的发送缓冲区,模块根据存储的功能指令,发送到指定的从机;而各从机响应后返回的数据,3100/3150-ⅦOM通信模块将其先存放在接收缓冲区,然后PLC使用逻辑读指令把数据移入相应的输入数据存储区。周而复始,使主机与从机中的数据得到周期性的刷新。整个数据流程如图2所示:第5页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102PLC内存PLC指令MCM缓冲MCMMODBUS模式设备数据读数据:-(从机主机推令一(写)指令一主二一从参数参数配置配置图2MCM模块数据流程示意图2.MCM模块与 MODBUS的硬件连接MCM模块使用的是与RS232C兼容的标准通讯接口,但在实际应用中由于要实w{M.91耙通信,所以采用RS485方式。图3是3150-MCM模块9芯串行口与 MODBUS 8的连接图3150-MCMMODBUSTxRxD+ 9TxRxDTxRxDTxRXDRTS 7G№D5GND图33150MCM端口与 MODEUS连接示意图3.MM模块的缓冲区管理PLC与MM模块之间是通过模块输入、输出映像文件进行数据传送。PLC与数据时,将数据写入输出映像文件,然后3100/3150-MM通信模块把数据映射第6页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102到相应的缓冲区位置上;PLC读数据时,根据映射地址,从输入映像文件屮读取模块缓冲区中对应地址的数据。映像文件的数据传送单位为一个50字节的数据块,PLC必须循环地一次传送一个数据块。MCM把缓冲区按数据传送的单位大小,分为若干个块,并一一标号,用块号对应起来,并且划分为三个区,分别用于数据、指令、参数设置。数据存储区从0块号开始,结束于79块号,中间有4000个字节的空间,用于存储接收的数据和发送的数据,是主札、从札交换数据的场所;指令存储区从第80块至第99块,共1000°个字节,用于存储主机模式下,模块的功能指令表,每次扫描,顺序按功能指令列表向从机发出请求帧:第25块号前40个字节则专门定义为模块设置参数存储区,用于初始化模块。在通信过程中,首先要对主机进行初始化,即对第255块号对应的缓冲区ww.91{进行参数配置,主要是定义通信端舶设置,模块缓冲区的详细划分。设置的有以下参数:N→oomo定义MCM通信模块两个独立的通讯接口设置。包括:选择主机模式或者从机模式、定义字符奇偶校验、停止位的个数,传输的波特率,响应延时等参数。〈2〉定义模块的缓冲区中冇储接收数据的数据冇储区。包括:接收数据存储区的起始块号,存储区的连续块数。③3〉定乂模块的缓洲区屮存储发送数据的数据存储区。包括:发送数据存储区的起始块号,存储区的连续块数。〈4〉定义模块的缓冲区中指令存储区。由于指令储区固定从80号数据块开始,所以只需指定存储区的块数。4.MCM模块的功能指令设置第7页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521MCM模块处于主机模式下时,功能指令列表存放在模块缓区屮的指令存储区。主机向从札发出请求时,模块从指令存储区逐条读出功能指令,并按照MODBUS请求帧格式发送数据。指令存储区中每条功能指令的具体内容如下:1模块通信端口选择2从机的站地址。从机在接收数据时将本站编址的值与收到的站地址比较,以此判定信息是否是发给木站的。而主机在接收压则将收到的站地址与发送的站地址比较,以判断是否是正确的从机响应3指令的功能编码4源地址。即主机要发送或接收的数据在缓冲区中的起始数据地Wbn.91Hmi.com-Itwww.plcworld.Cn5数据长度。即主机要发送或接收的数据的字节数6目的地址。即从机要接收或响应的数据的寄存器地址数据的类型。用于标示读、写的数据是双字节的浮点数还是单字节的整数8轮询时间如果主机希望在1号通讯接冂读取2号 Sepam2000从机中寄存器0805h-080Ah的内容并存放到模块缓冲区第50个字节开始的连续6个字节中,功能指令内容如下:从机功能数据端口号源地址目的地址类型时间地址编码长度506080500第8页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程1025. AB PLC通讯程序的开发程序执行时,在第一个扫描周期,都必须设置MCM的状态,即初始化MM模块。通信程序屮,PLC在输入、输出映像文件屮为MCM缓冲区设置当前以及后续读写指针,分别指向当前MCM缓冲区数据块号,后续缓冲区数据块号。若MCM处于数据传送允许状态,即I1:1/0=1,00:1/0=0时,PLC判别当前读写指针,调用相应读写逻辑指令。如果指针指向接收数据的数据冇储区,则PC从jCM模块中接收数据:如果指针指向发送数据的数据存储区,则PLC向MCM模块发送数据;如果指针指向指令存储区,则PLC向MM模块传送功能指令,每次执行一个数据块的传送,并在传送后,把后续读写指针覆盖当前读与指针,w毁w91{M恧砟下个扫描周期进行下一个数据块的传送。PLC自动周期性扫描,按照编定的功能指令向从机的输入/输出数据进行发送/接收,以满足数据传输的要求。根据PLC的逻辑指令及MCM的通信原理,画出了图4所示的主机通信程序结构框图开始首次扫描时MCM初始化百传送允许?>是∈向接收数据区读数据指令一向发送数据区?>据[写数据指令是指向指令区?与功能指更改读写指针图4PLC程序框图第9页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521五.结束语经过现场调试,实现了1台 AB PLC与13台 SEPAM2000组成的 MODBUS网络连接。实际应用证明,这种方式组成的系统结构简单,应用方便,能满足复杂的控制需要。参考文献3100/3150 MCM USER Manual, Pro Soft Tcchnology, 1997吵一2 AB PLC Programming Reference Manual, AB, 19973 Sepam2000 Communication protocol, Schneider, 1999W点M91HM|comWwW PLCworld cnN→oomo第10页共10页

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 预报误差法参数辨识-松弛算法(原理及matlab算例)
    预报误差法参数辨识-松弛算法(原理及matlab算例),方崇智,过程辨识,清华大学出版社。单输入单输出情况见http://download.csdn.net/source/1808608
    2020-12-02下载
    积分:1
  • 使用C#写的抽奖机(能够随机抽取,二,三等奖)
    用C#写的随机抽奖机!!能同时抽出20个三等奖,2个二等奖和1个一等奖!!
    2020-12-09下载
    积分:1
  • EditPlus3工具
    editplus中文版是一款功能强大的文字处理软件。EditPlus汉化版可以充分的替换记事本,EditPlus也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等。
    2021-05-06下载
    积分:1
  • SVMcgForClass.m
    【实例简介】svm 分类时用到的SVMcgForClass函数 SVMcgForClass.m 用于解决分类问题
    2021-12-15 00:37:08下载
    积分:1
  • 卡尔曼滤波
    提供了kf,ekf,ukf的详细推导过程,从标量推导开始,进而转入矢量推导,非常详细卡尔曼滤波器简介(阎泓著第一步、时间更新29第二步、测量更新“““““““+““44““““42924特殊情况.30第一种情况、先验误差极小...-.----130第二种情况、先验误差极大.30第三种情况、测量噪声极大.…31第三章、标量EKF画,通通画4“““““+44=“++“““++4“4“+“4“““-“++323.1非线性状态模型.323.2模型线性化33.2.1过程噪声项的线性化.333.2.2测量噪声项的线性化...11-343.2.3过程和测量噪声项同时线性化…35324过程的线性化…0353.25测量的线性化…363.3EKF滤波器…1373.31应用卡尔曼滤波器.3733,2计算先验均方差373.33计算后验均方差373.3.4计算k值4a“44444“;4444454a44“44444=424444441“如44444;44444“44.45“#4444444a444444443833.5k值为最优时的后验均方差3834算法39第一步、时间更新………9第二步、测量更新393.5EKF的缺陷44“==++++4=++44日+“44=“““+440第四章、矢量EKF4141非线性矢量状态模型4142矢量模型线性化单“““·***“““***“““““***“““***4““-***4““*“→“““*→*-““““““*“““*+4““→*“·““·““““*4242.1矢量泛函的泰勒展开42.2过程噪声项的线性化424.2.3测量噪声项的线性化.→“““#+4+“44“““-4+44→“““4“4+-““+43424过程和测量噪声项同时线性化4442.5过程的线性化4“““4““*“4““*→““*+“4“““““““*4“““4“““++4““44“““4“44““““七426测量的线性化“““““·+““““*““““+“““““““+4“““““““+4“““→·“““+“4543矢量EKF滤波器面面面面46画面和面面,43.1应用矢量卡尔曼滤波器44““++“44“““*44“““++444““4+444“+“44““““+444643.2计算先验均方差4643.3计算后验均方差4““+44““““44““““+→4““““+4““““4“44““““.47434计算k值47435k值为最优时的后验均方差4845算法“““+““““*“““““+…““““*“+44““48第一步、时间更新.…49第3页(共77页)卡尔曼滤波器简介(阎泓著第二步、测量更新““4--““44-4494.4特殊情况.““““4444“画画新通画通49第一种情况、先验误差极小.画画,画画画园画画,画画画面请通.50第二种情况、先验误差极大….----50第三种情况、测量噪声极大44“““+44““=++“44“““+444““4+“44““44+50第五章、标量无迹变换UT5251无迹变换的任务5252真值“““““++“++4“4“““+4“++4“““““+““+“““““525.3无迹测试点1101453.1标量的无迹测试点………154532无迹权重系数翻国口道55533统计性质公式…5554测试点的无迹变换.565.4.1从测试点得到后验期待值.画画通通画画山通画画新56542从测试点得到后验方差“““+4“++“4“++““平““上“““4““平中“+““““平“4+“=575.5讨论品aB444a日日+44日4日日“4日a4日+a日本“日日日和本上日和4日““458第六章矢量无迹变换UT4“““4“44“““4++44“““4+““4+2+“++“4“++4=“++“““2++““““++““4+““““++5961矢量微分回顾5961.1计算真值会用到的恒等式1962矢量无迹变换的任务中本““丰二“中““6063真值6163无迹测试点63.1矢量的无迹测试点画面通自品面画画面自自通国画日画面国通画日通山国国画山山面通画山山丽右日日画画画画画山63632无迹权重系数64633UT变换下的对称性64测试点的无迹变换6564.1几个恒等式…65642从测试点得到后验期待值.…---1----66642从测试点得到后验协方差.6765讨论68第七章、无迹滤波器UKF11116971高维非线性问题.069711标量特例画画画画画画新画画画画画画““*#“““““44“…4“““““4““+““→““““44““47072无迹滤波器面,面面面面面面面“面画70721无迹测试点““*4“““““44““+44““““*44“““++444“““4““+“44“““““722无迹权重系数通画画通画画通通画画通山请画画画画画画出画请画画副。723先验估计画画·画‘画4““+44““““44““““+→4““““+““““+“444““““+472724应用卡尔曼滤波器737.2.5计算后验均方差…737.2.6计算k值…444““+44“““*447473算法75第4页(共77页)卡尔曼滤波器简介(阎泓著第零步、初始化..-75第一步、时间更新175第二步、测量更新画画,画画画园画画,画画画面请通176第5页(共77页)卡尔曼滤波器简介(阎泓著第一章、标量线性系统实际工作中的线性系统很少有标量的,但是标量的卡尔曼滤波器的理论推导比较直观、易于理解,因此作为学习的切入点比较合适首先必须清楚地陈述卡尔曼滤波器要解决的问题。1.1卡尔曼问题在离散时间中,一个标量线性系统的状态演化常常可以表述为下面的随机差分方程式:x=ax,+bu其中t为时间。x,是一个标量随机变量,代表t时刻系统的内禀状态。a和b为常标量。u,为t-1时刻的输入,也是一个标量。111信号流程图上面的(1)式也可以用下面的信号流程图表示u-1)X()Ibax(t-1)直线表示信号的传送,箭头代表传送的方向。流程图中的图标有三种,第一种方框图标代表时间延迟,见下图x(t)TX(t-1)第二种方框图标代表乘法(增益),见下图第6页(共77页)卡尔曼滤波器简介(阎泓著aax第三种圆形图标代表加法(混合),见下图a-b+CbG这些图标可以按照有意义的方式组合起来,描述一个差分方程。必须指出,这些图标并不局限于标量情形,而且适用于矢量情形,譬如x为一个矢量,而a和b可以为矩阵。112加入白噪声假设在这个线性过程中有一个噪声项v鬟x2=ax21+bu-1+W1-1则此方程式可以用下面的信号流程图表示w(t=1)u(-1)中+baX(-1)假定这个噪声ν是一个高斯白噪声,它满足3N(9),(Q20)〈ww)=0(≠)3在本文采用物理学中常用的记号,(x)=E(x)表示x的期待值第7页(共77页)卡尔曼滤波器简介(阎泓著此外假定w与u.没有关联,也即113加入可测量假设系统的状态量x是不可以直接测量的。可以测量的是另外一个量z,称为可测量。可测量z依赖于系统的状态量x和一个激励倍数h,见下式。hx. +v(5)在实际工作中h可能会随着时间而变化,但在这里假定为常数,为常标量。此时流程图如下。wt-1)u(t-1)+b±2(ax(t-1)测量过程本身带有一个噪声ν,影响了测量的准确度。同样我们假定ν是一个白噪声(,R)(R≥0)(")≥=0(s≠)此外假定ν与w和u都没有关联,也即()=v)=0(s1)114卡尔曼问题陈述现在要考虑的是如何从可观测量z;的观测数据中得出x的最优估计值,把噪声w和v尽最大可能过滤出去,把它们的影响减到最小。这就是卡尔曼滤波器要解决的问题。1.2标量卡尔曼滤波器卡尔曼对这个问题的解答就是卡尔曼滤波器。下面的流程图可以分成上下两个部分:上半部分就是问题本身,下半部分就是卡尔曼滤波器。第8页(共77页)卡尔曼滤波器简介(阎泓著u(-1)X()bh+(aX(t-1)bb(()2()+ak文-b)+Residual在图中,z1代表实际测量值,x代表过程的真值。此外在卡尔曼滤波器的流程图中出现了几种新的符号,分别是x代表先验估计( A priori estimate),和E代表后验估计(A posteriori estimate)4.对一个随机变量当前值的先验估计是根据前一个时刻以及更早的历史观测信息所作出的估计:后验估计是根据当前时刻以及更早的历史观测信息所作出的估计。x1的先验估计是由上一个时间点的后验估计值和输入信息给出的,x,=ax+ bur-p卡尔曼使用x的先验估计给出可测量E的(先验估计)预测5,而z,的实际测得值与预测值之间的差称为滤波过程的革新( nnovation)或者残余( Residua,即Residual=(10)本文采取通用的符号,以表示对某变量y在t时刻的后验估计,而表示对y的先验估计。在某些文献中y又记作y(|t-1),又记作y(t|t)5对于z,而言后验估计没有意义。z,是可观测量,在后验时刻已经有实际观测值了。第9页(共77页)卡尔曼滤波器简介(阎泓著残余反映了预测值和实际值之间的差别。残余为零的话,估计值和实际值完全吻合。如果残余很小,表明估计值很好,反之就不好。卡尔曼滤波器可以利用残余的这一信息改善对x,的估计,给出后验估计。也就是x=x:+k(Residual)=*+k(z,-hR-其中的k称作卡尔曼增益或卡尔曼混合系数( Blending factor)现在剩下的问题就是如何找到k的值,使得估计为最优。为此需要定义先验均方差和后验均方差。121最优的k值先验误差和后验误差分别定义为(12)它们的方差就是先验均方差和后验均方差P≡varP, =vale(13)最优的k值是使后验均方差为最小的值,就是下式成立时的k值(14)ak122计算先验均方差先验均方差为≡war(15)因为(2)式及(8)试式x,=ax_+ bu+we=ax+bu可得e:=x-x=ax+bu +w_)-(ax +bur=a(xx_1)+W因此第10页(共77页)
    2020-12-03下载
    积分:1
  • 模型预测控制MPC序代码
    基于状态空间的模型预测MPC控制器的设计,附带例子(MATLAB)
    2020-12-07下载
    积分:1
  • 数值积分 matlab代码
    matlab函数,包括:复化梯形公式复化Simpson公式复化四阶Newton-Cotes公式Romberg积分法Gauss-Legendre积分Gauss-Chebyshev积分Gauss-Laguerre积分Gauss-Hermite积分及以上四个正交多项式的生成函数
    2020-12-11下载
    积分:1
  • LLE降维代码详细解释
    LLE 作者源代码,逐语句翻译以及解释
    2020-12-09下载
    积分:1
  • LABVIEW中调用halcon的简单说明
    PDF文档,详细介绍了如何在LABVIEW中调用halcon(配图说明)。
    2020-11-29下载
    积分:1
  • 盲图像质量评价
    盲图像质量评价matlab代码,可以直接运行。
    2020-11-30下载
    积分:1
  • 696516资源总数
  • 106913会员总数
  • 8今日下载