以下是网学网为您推荐的C/C++- 使用STEP 7 SCL语言编写Dongle替代程序 ,希望本篇文章对您学习有所帮助。
目前,有相当数量的智能设备通过Modbus协议与PLC通信,而SIEMENS公司为了方便编程人员编写300系列PLC的Modbus通信程序,专门为串口通信模块CP 341开发了硬件狗驱动Dongle。使用Don-gle,用户只需要设定简单的配置,就可轻松实现300系列PLC与串行设备的Modbus通信。Dongle虽然使用方便,但价格不菲,而且只能适用于CP 341而无法应用于相同功能的另外一款模块CP 340(CP 340模块无安装Dongle的插槽)。为了找到高性价比的Modbus通信解决方案,需要编写Dongle的替代程序。串行通信中,为了提高传输效率,需要在发送数据前对数据进行编码,接收数据后对数据进行解码;为了提高数据传输的准确率,发送方还需要生成校验数据,接收方需要对收到的数据进行校验。上述操作一般都需要对数据进行较复杂的运算,而这是传统的梯形图编程的弱项。同样,对于其他较为复杂的算术运算和逻辑运算,纯粹的梯形图编程效率也不高。
针对于梯形图不适于复杂运算的情况,SIEMENS公司开发了高级语言编程工具,即STEP 7系列编程工具的SCL语言。SCL语言是一种符合IEC 61131-3标准的结构化文本语言,语法类似于PASCAL语言。SCL语言具有编程效率高、易于阅读、结构严谨等特点,尤其适用于复杂算法和算术函数的编程,或用于数据处理任务。因此,可以使用SCL语言编写Dongle的替代程序。Modbus通信Modbus通信协议采取“主-从”模式:由主站发出数据操作请求(读或写命令),从站进行响应。整个网络上可以有多个从站,但必须有且只能有一个主站。如果主站不发出数据操作请求,则所有从站保持静默状态。Modbus协议通信主要分为3种方式:ModbusRTU、Modbus ASCII和Modbus TCP/IP。一旦主站选定了上述通信方式中的一种,所有从站也必须采取相同的方式。Modbus RTU和Modbus ASCII是应用于串行总线的通信方式,而Modbus TCP/IP是应用于TCP/IP连接上的方式。