打开一个S7-200SMART项目后,发现 modbus_INIT块无port口管脚,编译、调试都正常,不知什么回事?
图片说明:

zuijia答案
你这是以前S7-200编写程序,转换到smart200 上面来可以用这个库,以前的S7-200的从站库和现在smart200的库不一样但是还是可以用,以前S7-200做从站Modbus RTU从站指令库只支持CPU上的通信0口(Port0),所以以前S7-200从站库只能用Port0库,这是默认,不用修改。现在smart200做从站两个口都可以,所以有Port管脚要填写。看下面链接进行对比你就知道。
S7-200 通过以下方式支持 Modbus RTU 通信协议:
S7-200 CPU 上的通信口 0(Port 0)通过指令库支持Modbus RTU 从站模式
S7-200 CPU 上的通讯口 0 和 1 (Port 0 和 Port1)通过指令库支持 Modbus RTU 主站模式
在 S7-200 CPU 通信口上实现的是 RS485 半双工通信,使用的是 S7-200 的自由口功能。
通过 S7-200 CPU 通信口的自由口模式实现 Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。 这为组成S7-200 之间的简单无线通信网络提供了便利。
学习西门子200SMARTPLC,我们必须熟悉西门子PLC各存储器的符号、地址,我们日常所说的西门子PLC地址,都是直接寻址,如I2.2,MB20、VW34等,表面说它是各存储器的地址,实际表示是它的 数据,如VW34是50,VW34可直接参加运算,VW34+20=VW34,这时VW34的数据就变成了70。
PLC应用时,我们所说的各地址,实际目的是说它的数据是多少或什么状态。
而间接寻址,是各存储器背后的实际地址,是一开始设计好的,就像人的姓名与身份证号一样,用姓名和身份证号都可找到同一个人。用实际的地址指向VW34,就可以取出它的数据70,这就是间接寻址。
200SmartPLC规定是存储器符号前加“&”符号,来取得它的地址,如&MB10,以“双字”的格式来取它的地址。如下图
取MB10实际地址到VD504,这时VD504就是地址指针
这样,就把MB10的实际地址以双字格式,存入了VD504,这时VD504内就代表了MB10的实际地址,同时VD504就代表了M区的地址指针。也就是说把VD504定义成了M区的一个地址指针.。
怎样取出这个地址所指的MB10内的数据呢,PLC规定,是把VD504前加“*”号,来取出它的数据,这时“*VD504“就表示是MB10,
因此*VD504就是MB10,*VD504=MB10。
通过以下实测来说明:
可以看出:&IB10=VD500=16#0000000A
&MB10=VD504=16#0200000A
&VB10=VD508=16#0800000A
以上是它们的实际地址,A---就是十进制10,,
我们要注意:【VD504+10】,与【*VD504+10】含义是不一样,前者是地址加10,表示这时的指针地址指向了MB20,而后者是表示MB内的数据再加10.
如状态表:
表中表示VB的 各初始值
VB10地址到VD508,
如上图VB10=1,V区指针定义成了VD508,这时的VD508 就是VB10的地址,
西门子模块代理商
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。【依法须经批准的
浔之漫智控技术有限公司西门子代理。联系人:小聂(15221406036)浔之漫智控技术有限公司主要产品有“PLC,变频器,触摸屏,模块,传感器,低压器,伺服电机,工控机”。全新原装,质量保证,保修一年,价格合理,支持技术服务!SIEMENS 可编程控制器1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-2002、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24R...