mod用什么软件打开

2025-03-0900:44:18常识分享0

根据甲方的需求,需要在西门子控制系统S7-1200上增加MODBUS RTU通信功能。我购买了一只CM1241(RS422/485)通信模块,CPU型号为1217C,版本号暂时记不起来了。原本以为这个任务很简单,没想到却耗费了一整天的时间。为了避免下次使用时再次遇到困难,我决定将这个过程记录下来。

我打开博图软件,进行硬件组态。在博图中找到对应的CM1241模块,直接插入并选择合适的型号。选择通信模式为半双工RS385两线制。如有需要,其他参数也可以根据个人需求进行更改。

接下来,查看硬件标识符,这个代码每个组态都是唯一的,但是如果不记得也没关系,因为在后续编程时可以自动调用这个硬件并显示对应的代码。

然后,我进入了编程环节。我打开OB1或者新建一个FC块、FB块。但无论选择哪种方式,一定要在OB1中调用相关的程序块。特别需要注意的是,不能在OB100中调用。在编写程序时,我使用了通信指令中的MODBUS(RTU)。这里千万不要使用MODBUS指令集,即使程序不报错,也可能无法正常通信。我在实际测试中发现这个问题,并且发现有些网上的攻略是错误的,因为它们没有经过实际验证。作为主站时调用MASTER指令,作为从站时调用SLE指令。必须保证使用的是同一个指令集下的指令,不能混用。初始化中的MB_DB管脚就是主站或从站的背景数据块的MB_DB,在调用时进行选择即可。

在硬件连接方面,我购买了一只九针,并用万用表测试了十根线对应数字1-9的关系。特别需要注意的是3号和8号管脚的对应关系。然后,我购买了一个RS485转U口数据线,方便使用电脑中的MODSAN32进行测试。连接时,要确保3号和8号管脚正确连接到转换器的TR+和TR-。