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

AB PLC 与modbus 通信

于 2020-11-05 发布
0 547
下载积分: 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 个回复

  • onvif设备发现+鉴权认证+RTSP地址获取VS2010
    onvif设备发现+鉴权认证+RTSP地址获取VS2010编译,最新的windows平台实现
    2020-11-28下载
    积分:1
  • 基于MATLAB的月球车锂离子电池充放电过仿真
    基于MATLAB的月球车锂离子电池充放电过程仿真第三届学术会议论文集究电量敢电电滩negro向电量充电系俊克电电浪最大放电硅Raon』Operatoe敛电Constant图5蓄电池模块的 simulink仿真结构图蓄电池模块是电源系统仿真的关键部分,本模块构造了蓄电池组在仿真过程中充、放电情况,直观反映了月球车电源系统的能量平衡情况。3动态性能仿真在月球光照期时,由于光照、温度等环境因素的影响,太阳能电池不可能一直处于最佳发电状态,特别是在最初和最后阶段,太阳能电池的功率都是比较小,不能满足月球车的功率需要,太阳能电池提供的功率存在波动;月球车的工作状态也不确定,各个系统所需功率也不尽相同,因此负载功率也存在一定的波动。下面所做的仿真就是基于以上两方面考虑,对太阳能电池以及负载功率进行假设,假设它们的功率是在一定范围内频率不同的正弦函数。由于同位素温差发电器的功率为4W,太阳光照时间约为310小时,太阳能电池的功率曲线大约为周期为672小时,幅度为280的半个正弦波,所以设Pw为基值4、幅度280、频率0.01的正弦曲线; P load为基值100、幅度30、频率01的正弦波。在此条件下仿真结果因电电aPp尚因日自母自PPP晶题因日358动力、能源、结构、材料技术画自)P国因日母自pp因因日车仿真结果从不同的角度显示了充放电的动态过程:仿真初始阶段,由于光照倾斜角度较大,温度很低等原因,太阳能电池功率小于负载功率,此时锂离子蓄电池开始提供辅助能源,蓄电池容量稍有下降但到30小时的时候,太阳能电池功率开始大于负载功率,此时蓄电池开始充电,电量呈现阶梯状上升。蓄电池最大充电电量达到330Ah,完全满足月夜时所需能量。仿真结果显示,只要太阳能功率能达到仿真假定值,就能保证在月球的一个自转周期内,月球车的发电能量和所需能量达到平衡,月球车才能够在月球上连续工作几个月。结束语月球车电源仿真系统的基本模块—蓄电池充放电系统模块已经初步完成,能够验证所设计的电源系统的能量平衡效果,给出真实时间单位的系统情况,并以图形曲线表示,从而可以直观地看出设计的正确性和合理性,并使之成为适当调整的参考依据。基本模块的参数设定可以根据实际需要进行调整,以满足实际的需要。根据仿真的结果,可以验证设计时各个部件参数是否合理。此仿真程序能够满足设计需要,可用于月球车电源系统辅助设计和验证设计的合理性,提高设计可靠性参考文献1探月工程月球手册.国防科工委月球探测工程中心,20052薛定宇.控制系统仿真与计算机辅助设计.机械工业出版社,20043崔文聪.天文卫星电源系统设计分析与仿真.中科院研究生院硕士学位论文,204359基于 MATLAB的月球车锂离子电池充放电过程仿真旧WANFANG DATA文献链接作者:杨柯,赵晓蓓作者单位:西北工业大学航空学院本文读者也读过(2条)1.冯韬高功率因数锂离子电池充放电系统的研制[学位论文]20072.张忠林.杨玉光锂离子电池充放电机理的探索[会议论文]-2006本文链接http://d.g.wanfangdata.comcn/confereNce6345676.aspx
    2020-12-10下载
    积分:1
  • 雷达系统设计MATLAB仿真
    这是一部国外经典雷达设计书籍,通过学习它,你可以很快的理解雷达设计的要点,懂得雷达设计的过程和步骤!
    2020-12-10下载
    积分:1
  • 火灾识别代码
    具体描述看我博客。2、 具体的操作方法:将原图像进行RGB三通道分离,去取各个通道像素的值,根据实验得出的经验,对火灾像素定规则,规定各个分量之间的关系。根据这个规则对输入图像进行判断,创建一个新的图像,符合就在这个新的图像中保存火灾像素的位置,否则不保存(如图所示);将创建的二值图像进行检测轮廓,根据轮廓组数进行火灾识别框的绘制,最后输出结果图像。
    2020-12-12下载
    积分:1
  • opencv相机标定
    opencv相机标定,加上图像坐标到世界坐标的转化
    2020-12-06下载
    积分:1
  • VMware-ESXi-6.7.0-8169922增加RealTek8168网卡驱动(2-1)
    自己制作的VMware ESXi 6.7.0-8169922 版本ISO,增加了RealTek 8168网卡驱动,适合网卡是RealTek的服务器或者台式机安装ESXi,实测可用. 实测可用硬件环境如下: Dell OptiPlex 3060台式机 CPU: i7-8700 内存:16G 网卡: RealTek 8168解压缩密码 : you_can_do_it
    2020-12-06下载
    积分:1
  • Matlab在原图片中画直线
    本源代码来自于网站。代码能够在读入的图片中进行直线、折线的绘制,并能够控制端点标记。这个代码弥补了matlab在原图中绘制图形的缺陷。matlab plot函数绘制的线段,并没有改变读入图片的数据,直接保存图片的矩阵数据,不会保留绘制的直线。利用print、saveas 等函数保存厚的图片尺寸和以前大小不同,而且保存的图片存在空白边框问题。该代码完美解决了这一问题。
    2020-12-06下载
    积分:1
  • MATLAB可视化大学物理学(完整版).rar
    本书为大学物理学的配套代码,每一部分都精心选取和编制了10个范例,共有140个范例。每个范例都按传统物理学的方法,用高等数学进行解析,进而结合图片对物理内容做出详细的说明。程序中将物理内容和例题以范例的形式提出来,进行解析和图示,包含大量的曲线、曲面和动画等可视化例程。此代码可按操作直接运行,对深刻学习物理和形象化理解物理规律很有帮助,让物理不再是刻板而枯燥的文字和公式。
    2019-08-15下载
    积分:1
  • python练习-NBA比赛结果预测
    python预测nba比赛结果
    2020-12-11下载
    积分:1
  • 控制系统稳定性分析的matlab实现(实验报告图+序全)
    一、 实验目的1. 熟悉MATLAB的仿真及应用环境2. 在MATLAB的环境下研究控制系统稳定性二、 实验内容和要求1. 学会使用MATLAB中的代数稳定判据判别系统稳定性2. 学会使用MATLAB中的根轨迹法判别系统稳定性3. 学会使用MATLAB中的频域法判别系统稳定性三、 实验主要仪器和材料1、 PC 1台2、 实验软件:MATLAB 7.1四、 实验方法,步骤及结果测试一) 用系统特征方程的根判别系统稳定性:设系统特征方程为 ,计算特征根并判别该系统的稳定性。在command widow窗口输入下列程序,并记录输出结果。>> p=[1 1 2 2 3 5
    2020-12-05下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载