AB PLC 与modbus 通信
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页
- 2020-11-05下载
- 积分:1
利用MATLAB实现医学图像处理与分析
利用MATLAB实现医学图像处理与分析边缘是图像最基本的特征。所谓边缘是指图像周围像素灰度有阶跃变化或屋顶状变化的像素的集合, 它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。边缘具有方向和幅度两个特征, 沿边缘走向, 像素值变化比较平缓; 垂直于边缘走向, 像素值变化比较剧烈, 可能呈现阶跃状, 也可能呈现斜坡状因此, 边缘可以分为两种: 一种为阶跃性边缘, 它两边的像素灰度值有着明显的不同; 另一种为屋顶状边缘, 它位于灰度值从增加到减少的变化转折点。对于阶跃性边缘, 二阶方向导数在边缘处呈零交叉; 而对于屋顶状边缘, 二阶方向导数在边缘处取极值。第6期高向军,等:利用 MATLAB实现医学图像处理与分析1749d imw rie( modif, ank le_new series d en, n b)在 MATLA B中,笔者实现算法如下:a读入图像,预定义3.2 Levelset图像分割初始轮廓,如图3(a)所示;b定义离散化水平集函数;c)曲线在医学图像分割研究中,基于 level set技术的活动轮廓模演化,递准过程;d)求解演化后的零水平集,即为分割图像的型正引人注目。本实例在 MATLAB环境中,实现了Chm和边缘,如图3(b)所示。Ⅴese提出的无梯度的活动轮廓模型,并应用在医学图像分割之中。4结束语CⅤ分割方法的基本原理如下:没定义域为Ω的图像uo实践证明,MAT^AB软件功能强大、数据计算能力突出、被闭合边界C划分为目标O(C的内部)和背景B(C的外语言简洁易读。使用图像工具箱中的医学图像处理函数可以部)两个同质区域。两个区域的平均灰度分别为c1和c2此时方便快捷地实现医学图像的读写及简单处理功能。本文用实能量函数可看做为外部能量和内部能量之和,即例证明了在 MATLAB环境中可以方便、快速、有效地实现复杂E(cIc> C)=EinsidefC)+Eoutsidec)医学图像处理算法。同时Ⅵ ATLAR工具箱涉及的专业领域广H, m isc,(uo-Ci2dx dy+泛且功能強大。由于工具箱具有可靠性和开放性,可以方便H2IJout ie c)(o-C2)2dedy-YICI地直接加以使用,也可以将自己的代码加到工具箱中以改进函数功能。因比,在Ⅵ ATLA B(R2006b)环境下,实现医学图像的处理和分析具有很大的应用优势和价值。参考文献:1」田捷,包尚联,周明全.医学影像处理与分析[Ⅵ].北京:电子工业出版社,2003.(a)初始图像(b)分割结果「2]张尢赛,陈福民·D)IαM医学图像窗口变换的加速算法[J.计图3 Level set分割结果算机工程与应用,200339(13):218-2203]王立功,刘伟强,于甬华,等.DCOM医学图像文件格犬解析与当闭合边界C处于两个同质区域的边界时,能量达到最应用研究[J计算机工程与应用,20642(29):210212225小。为了解决曲线的拓扑变化问题,C-V分割法采用了水平[41曾筝,董芳华,陈咣,等.利用 MATLAB实现C断层图像的三维集方法,将闭合边界C嵌入高一维的曲面ψ中,根据初始闭合重建[J·CT理论与应用研究,200413(2):24-29曲线c构造一个内正外负的符号距离水平集函数中这样就5l任忠宝,李佳·基于 MATLA B的颅面三维重构技术J·计算机将关于闭合曲线C的能量函数转换为关于曲面中的能量函(6]王家文,李迎军.MAAB7.0图形图像处理(M].北京:国防数,再通过变分技术可以得到关于曲面的偏微分方程模型,即工业出版社,2006冲=1中/Yd(y中/1中1)-1(mo-c12+2(no-c2)2通(71HANT, VESE L. A ctive con bou rs w ithou t edges JI. EEE Tans过求由面的零水平集就可以得到C的位置mage Process 2001, 10(2): 266 277(上接第1740页)相比,本文算法虽然计算量有所增大,但能acam pos itc m ethod[ J]. Pattern Recogn tion 1982, 22(4: 381正确区分质量中等区域和质量较差的区域,并将背景区域和质385.量较差、后继算法无法恢复的噪声区域分割,保留质量巾等41 MEHTRE B M. F ngerp rmt m age ana ls s for autm atic ren tifica tion区域,使后续算法的处理区域更精确。I J] M achine Vis ion and App lica tons 1993, 6(2-3): 124-1395]苏彦华·Ⅴ balc++数字图像识別技术典型業例[M]·北京:人4结束语民邮电出版社,2004I6]耿茵茵,唐良瑞.指纹图像分级分割算法ⅠJ.北方工业大学学本文提出了一种改进的基于指纹灰度特性的指纹图像分200012(3):2-26割算法,克服了传统自适应阈值分割算法在指纹与背景交接区[7]甘树坤,欧宗瑛,魏鸿磊,基于灰度特性的指纹图像分割算法[J域,以及指纹内部脊线太淡或脊线粘连的区域分割不准及分割古林化工学院学报,200623(1):68-71前景边界的方坎效应问题,适用于更多类型的指纹图像,且分[8] ROSENFILD A, KAK A C. Digita I im age process ing[M].Naw割比较精确。实验结果表明,该算法的分割效果很好,对前景Yor a cadem i press 1976区和背景区的分割更加灵活准确,有效降低了指纹图像噪声的[9]G0 NAZALES R C. WOODSR E. D igital m age processing[M I影响,它不仅能分割出指纹质量较好的图像,也能有效地分割Read a add ison w esley 1992噪声干扰较大的指纹图像,经过分割后的图像指纹纹线清晰、「11田捷,杨鑫,生物特征识别技术理论与应用M],北京:子工业出版社,2005流畅,具有较强的适应性和很高的实用价值。目前该算法已被应用到成熟的指纹识别算法中。10]吴|金,朱兆达图像处理中阂值选取方法3年(192-1992)的进展(12)[J.数据采集与处狸19938(3):1920}(4):26278.参考文執I 12 BAZEN AM, GEREZ S H. Segn en tation of fingeprin t m ages[ c]//l]陆颍.指纹自动识别原理与方法综述[J]·工栏数学学报.2004Prme of the 12th Annual W orks op on C icu its Sys kms and Sign al21(6):10031010Pocess ng Neherland I s n, 2001 276-2802]硎 HANG J anwei I Heng li s udy on segm ent a lgorithm in au m a[l3]冯星奎,颜祖泉,肖兴明,等.指纹图像合成分割法[J.计算机l i fige prill ilen Lifica lion[ J. M cro oomputer Applica tons应用研究,200017(1):7G77199915(12)202214]韩思奇,王蕾·图像分割的阈值法综述丨J].系统工程与皃子技13 CMEBTREUM.C是是出m出是 lishing630 bihgts-ycscrved.htp/w. cnkinct
- 2020-12-10下载
- 积分:1