上海雷昽自动化有限公司是西门子一级代理商,西门子贵港市一级代理商,PLC、触摸屏、变频器、电缆及通讯卡、数控系统、网络接头、伺服驱动、凡在公司采购西门子产品一般项目:工业 自动控制系统装置销售;智能输配电及控制设备销售;电气设备销售;工业机器人销售;电子产品销售;电子专用设备销售;通信设备销售;仪器仪表销售;电子元器件批发;电线、电缆经营;互联网销售(除销售需要许可的商品);销售代理;电气设备修理;工业机器人安装、维修;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)。
SIEMENS 可编程控制器
1、SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-200
2、逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等
3、SITOP直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A可并联.
4、HMI 触摸屏TD200 TD400C K-TP OP177 TP177,MP277 MP377
SIEMENS直流传动装置
1、交流变频器MICROMASTER系列:MM420、MM430、MM440、G110、G120.MIDASTER系列:MDV
2、全数字直流调速装置 6RA23、6RA24、6RA28、6RA70、6SE70系列
SIEMENS 数控 伺服
SINUMERIK:801、802S 、802D、802D SL、810D、840D、611U、S120
系统及伺报电机,力矩电机,直线电机,伺服驱动等备件销售。
S7-200的Modbus通讯:
S7-200只支持Modbus RTU协议,不支持Modbus ASCII协议;
Modbus是一种单主站的主/从通信模式。一条Modbus网络上只能有一台主站,从站可以有若干个(如下图所示)。从站的地址范围为1-247;
一个Modbus通讯的传输字符应包括一个起始位,8个数据位,1个或0个校验位(奇偶校验或无校验可选择),以及一个停止位。
在S7-200 CPU通信口上实现的是RS485半双工通信,使用的是S7-200的自由口功能。
上图是一个典型的主站和从站的网络结构,对于Modbus主站而言可以对从站进行读或者写的操作,其中它所支持的功能码(FC,FunctionCode)包括主站左侧表格中所述功能,例如功能码为'01'时表示读取单个/多个线圈(DO)状态或功能码为'04'时表示读取单个/多个输入寄存器(AI)状态。
而对于从站,我们只需要把Modbus的标准地址和从站的地址对应关系建立好就可以了,S7-200的从站与Modbus标准的对应关系如从站右侧表格所示。
表中左侧是Modbus标准地址码,其中1-128对应于S7-200的Q0.0-Q15.7,10001-10128对应于S7-200的I0.0-I15.7,30001-30032对应于AIW0-AIW62,40001-4xxx对应的是S7-200的保持寄存器(V区),它的范围是T-T+2*(xxxx-1),T表示的是V区的起始地址,这一点由Modbus从站的指令所决定的。
Modbus的主站指令叫做MBUS_MSG,通过这条指令可以将Modbus的标准报文发给从站,例如在上图例子当中从站的个字节是03,表示的是从站的地址,FC功能码为03,表示的是读取单个/多个保存寄存器,Modbus标准地址是40001,长度是10。随着功能码的不同,报文的格式会发生相应的变化,具体的报文格式需要去参阅Modbus的通讯手册。
从站的指令时MBUS_SLAVE,在接到主站发给它的报文后会根据报文的需求返回报文,比如在上图例子中返回的格式是个字节为从站的地址,第二个为功能码,第三个是数据返回给主站,这样就完成了一次Modbus通讯的请求与应答的过程。
(2)Modbus库文件的安装和调用
如果想要应用Modbus指令库,那么需要到因特网上或者向西门子的客服人员申请名称为'Toolbox_V32-STEP7-Micro WIN' 的指令库,将它解压并且安装到Micro WIN当中就可以使用了,安装后会在MicroWIN的库文件当中出现上图标记的三个库,其中Port0和Port1都可以做ModbusMaster,而Slave只有Port0口可以做。
(3)Modbus库文件的使用
使用方法很简单,打开Modbus主站指令库会有相应的指令块出现,直接把指令块拖拽到程序当中进行调用就可以了。
在调用Modbus库指令的时候,需要注意一定记得为Modbus库文件分配库存储区。具体的方法是右键单击库,选择库存储区,在弹出来的对话框当中可以选择建议地址,自动分配一个程序里面不会用到的地址区间,也可以人为地手动填写起始地址,这个区间在程序当中不可以和其他的数据区相冲突,否则Modbus功能将不正常。
所谓的库存储区其实就是Modbus指令库能够正常工作所必须的一部分背景数据,只
要给它分配好区间并保证不与程序当中其他的地址相冲突就可以了。
(4)Modbus从站指令
从站指令一共有两条,条是从站的初始化指令(MBUS_INIT),另一条是MBUS_SLAVE从站指令,在Modbus从站的初始化指令当中涉及哪些内容呢?
个引脚Mode表示等于1的时候是启动Modbus,等于0的时候是关闭Modbus,Addr表示的是这个从站的从站地址,Baud表示波特率,Parity是奇偶校验,0是无校验,1是奇校验,2是偶校验,Delay是附加字符之间的延迟,MaxIQ表示的是大I/Q地址(默认128),MaxAI表示的是大AI长度(默认32),MaxHold表示的是大的V存储区(VW),关键的是HoldStart,表示的是V区起始地址(对应40001),在之前已经提到过S7-200作为从站的时候,它的V区地址对应于Modbus标准地址的起始地址是可更改的,那么就在这里进行设定,在本例中如果HoldStart写的是VB0,那么40001对应的地址就是VW0,40002对应的地址是VW2,40003对应的地址是VW4,以此类推,每一个标准的Modbus地址码对应的是一个Word,以字为单位,同样如果这里设的是VB100,那么40001对应的就是VW100,40002对应的是VW102,以此类推。