SIEMENS西门子汕尾授权代理商

供应商
浔之漫智控技术(上海)有限公司
认证
联系电话
158****1992
全国服务热线
158****1992
经理
聂聪
所在地
上海市松江区广富林路4855弄88号3楼
更新时间
2023-10-26 04:00

详细介绍

 siemens西门子汕尾市授权代理商

在上一篇文章中我们说到了modbus  rtu协议的信息帧的格式,从而跟着大家提到了如何通过从站设备提供的通讯表明里的信息帧格式及地址去准备相应的数据,那么大家关键说一下s7-200系列plc中modbus rtu库命令含意。

在s7-200smart系列plc里的库命令中集成了modbusrtu通讯的库命令,库命令中包括了s7-200smart系列plc做为域名作用的库命令及s7-200smart系列plc做为从站作用的库命令(如图所示)

在这里大家关键介绍下主站的库命令,主站的库命令中依据所使用的通讯口的数量不一样分成2个,若使用中plc的本身的rs485端口必须做为modbus的域名作用,而扩展的rs485的信号板又必须做为modbus的主站的作用,那么前者应用个主站库的命令,后者可以用第二个主站库命令,每个主站库命令中都有2个命令,各自为复位命令mbus_ctrl,数据读写发送请求命令mbus_msg命令。下面大家对这2个命令的意思及其命令上的引脚开展一些表明:

mbus_ctrl命令

en:复位命令使能端,必须维持每个扫描周期都接通

mode:通讯协议的挑选,若需挑选modbus rtu通讯,这必须维持该位为1情况,因此这里可以用sm0.0接通。

baud:通讯波特率的设定

parity:奇偶校验的挑选,0表明无校检,1表明奇校验,2表明偶校验

port :端口号设定,若应用plc本身上的rs485端口,则应挑选为0(

注意s7-200plc里的库命令里的mbus_ctrl没有此引脚)

timeout:该参数用以确定 modbus从站设备是否对主站发出请求作出回应。若达到预设值后,还没得到从站的回应,则plc觉得从站出问题,同时mbus-msg命令里的故障代码储存器时会储存相应的故障代码,同时完成位的情况为1.

done:完成位,当复位完成后,该位的情况为1,程序编写时,可以依据这个完成位来判断复位是否完成,完成后能够用以激活mbus_msg命令开展数据请求的推送,(应注意是:复位完成后,至少必须过一个扫描周期后,才能去激活mbus-msg命令,不然可能通讯失败)

error:故障代码储存器(应用一个字节开展储存),当复位出现错误后,在故障储存器时会产生一个代码,查询命令协助里的代码表明,能够查询到可能出错的原因是什么。

mbus_msg命令

en:命令的使能mbus_msg命令使用中一定要注意的一点便是,同一个扫描周期内,只能由一条mbus_msg的en端情况为1.假如在一个扫描周期内发生2条及2条以上的mbus_msg的en端情况为1的情况。则mbus_msg命令里的故障代码的值能为6,通讯会不成功。

first:开启请求,仅维持一个扫描周期的时长 ,因而在使用中必须应用沿脉冲开展开启。

slave:从站站号,依据从站中设置的地址开展填好

rw:读写操作挑选,0表明读,1表明写,若控制变频器运作,应用写的作用,若必须读取变频器的电流等要用读的指令。

addr:起始的modbus寄存器地址,此地址使用中一定要正确撰写。

modbus存储器的地址,依据功能码的不一样,主要有4种类型的表示方法,各自为

0xxxx(读写线圈情况),1xxxx(读开关输入状态),3xxxx(读输入存储器),4xxxx(读写维持存储器)

四种种类,针对第四种种类4xxxx的类型,地址能够拓展,拓展为4xxxxx六位数的种类格式。

各功能码对应的modbus地址寄存器种类如图所示,

而每种地址的起始地址都是从0001开始,并且都是以十进制数开展表明的。

地址种类确定后,如何来确定输入的地址呢?

该地址的确定与在上篇文章中提及的modbusrtu信息帧格式里的data内容相关,data的内容包括两部分内容,一部分内容为数据区的地址,一部为数据区的内容,则这里的modbus存储器的地址与数据区的地址相关。如图所示:

这里里的数据区的地址,指的是寄存器地址,从图上能够看见他们的范畴是从十六进制数的0000到十六进制数的ffff,因而从这大家能够看见功能码为06,对应的寄存器地址是0000的时候,那么在大家mbus_msg命令里的adder的地址应填写为40001

(由于都是表明的个地址,必须一一对应上)。

依据这个计算方式,我们能写出在上一篇文章中提及的控制变频器运作的寄存器地址对应都mbus_msg命令中adder的地址为:

功能码为06,因此种类为4xxxx的类型,地址为16#3200,相对于16#0000而言,偏位了12800.(此为十进制数)因此对应到mbus_msg命令里的地址为在1的前提下上偏位12800,即12801,而功能码06对应的种类为4,所以我们在使用中应在mbus_msg命令的adder出填好412801这个地址。

count:读写的格式,表明从adder这个引脚指的的地址开始的持续多少个地址开展数据的读写。

dataptr:读写数据存放的地址,应用指针的方法表明,实际地址以十六位的方法表明,假定应用的地址是&vb100。前边的命令引脚定义是指对变频器运行指令的控制,则当把16#1001写入到vw100中,则电机正转运作,若把16#1003写入到vw100中,则表示的是翻转运作。倘若读取的作用,假定mbus_msg命令中adder为413077,count为2,dataptr为&vb102,则表明把413077这个地址里的数据读取出去储放于vw102,把413078的数据读取出去储放于vw104中。

done:完成位。当实行完成后,该为位1,因此当发生必须使用多个mbus_msg命令是,可以用每个命令的done来完成轮循的作用。

error:故障代码储存器,便捷查看通讯故障。


西门子总代理商,西门子PLC模块代理商,西门子中国授权代理商

展开全文

我们其他产品
我们的新闻
优质商家推荐 拨打电话