C#与西门子PLC1500的ModbusTcp服务器通信3--搭建ModbusTcp服务器
将仿真工具打开,新建一个PLC项目。在创建完PLC项目后,立即保存文件,请留意IP地址的设定,确保与西门子虚拟网卡的IP、以及虚拟机的网络游戏卡IP地址在同一网络段。下一步,运行博途V15软件,创建新的项目,并将其命名为“Lan项目”。
按照常规操作,接下来为1500系列CPU型号1513设置IP地址及其相关属性。并在此后的步骤中,添加通信模块MB_SERVER。
在主程序块main中找出并利用指令链,上下寻找是否能找到与通信模块MB_SERVER相关的控件。特别关注mb_hold_reg和connect参数。选择Disconnect为FALSE可设定为被动连接(即将服务器置于等待被客户机连接状态,而非主动发起连接);意味着客户机会主动寻找连接服务器的路径。为了成功连接,客户机需要使用事先设定的服务器IP地址和端口来建立连接关系。一旦连接成功,客户端若需获取数据,可通过MB_HOLD_REG口接收回应。
在此处,则要暂停操作,并保存项目以备后续流程。步骤涉及添加全局数据块DB2,创建一个TCON_IP_v4的变量用于与connect参数匹配。全球数据块在触发进程ID处设定为64,这并非可随意修改的部分;ID和localport等变量的定义应与设备ID保持一致。DB3全局数据块用于匹配MB_SERVER模块管脚参数MB_HOLD_REG,并化妆若干变量,具体数量可以根据实际需求进行更改。
再后,设置MB_HOLD_REG引脚,负责数据存储与传输。通过构建连接接口,存储数据至.wholeciff。当陈定义的数据点枚举逐渐增长至20,则表示已经达到了数据块定义的终点。
紧接着配置CONNECT脚引参,度指明哪一块数据块应为连接请求回复核心点,一般来说主要调用的DB2全局数据块内储存的Connector变量。
完成所有主程序main的编译,查看项目流程运行情况。至此,一个基于MODBUSTCP网络架构的服务器模型已搭建成功,为后续程序逻辑系统设计提供了基础蓝图。如果您具备一定的编程基础,继续编写对应C或对应的市场需求关注Machinery程序会相对轻松许多。