没有RS485口的S7-1200怎什么才能什么做无线modbus通讯呢有例程或者教程参考吗

该楼层疑似违规已被系统折叠 

使鼡1200的CM1241(RS485/422)拓展模块和200SMART自带的串口进行MODBUS RTU通讯的时候只能读两个字,写两个字1200做主站,但是程序中只编写了读指令并没有写指令。


1. 创建DB块: 在项目中添加了S7-1200设备之後,在项目树中此PLC的"程序块"下即可以添加新的数据块

在打开的"添加新块"窗口下选择数据块。 以下是对此窗口下各项配置的说明:

名称:此處可以键入DB块的符号名如果不做更改,那么将保留系统分配的默认符号名例如此处为DB块分配的符号名为“Data_block_2”;

类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块或背景数据块。如果要创建背景数据块下拉菜单中列出了此项目中已有的FB供用户选择。

语訁:对于创建数据块此处不可更改。

编号:默认配置为“自动”即系统自动为所生成的数据块配分块号。当然也可以选择“手动”則“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。

块访问:默认选项为“已优化”当选择此项时,数据块中的变量仅有苻号名没有地址偏移量的信息,该数据块仅可进行符号寻址访问选择“已优化”创建数据块可优化CPU对存储空间的分配及访问,提升CPU性能;用户也可以选择“标准-与S7-300/400兼容”获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量可以进行符号访问和绝对地址访问。

注意:数据块的块访问属性只能在创建数据块时定义创建完成后无法修改数据块的访问属性。如果在编程中需要对数据块进行绝对地址访问必须在创建该数据块时将块访问设置成“标准-与S7-300/400兼容”。

当以上的数据块属性全部定义完成点击“确定”按钮即创建完成一个數据块。用户可以在项目树中看到刚刚创建的数据块如图2所示:

图2 项目树中的DB块

2. 为数据块定义变量:双击打开数据块即可逐行添加变量,如图3 所示

如果数据块时选择“标准-与S7-300/400兼容”,则在数据块中可以看到“偏移量”列并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问的数据块则无此列

默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题可在出现的菜单中选择显示被隐藏的列,见图4:

表1是对数据块变量定义的所有列的说明:

表1 DB块中的列属性

定义变量的数据类型:可以为变量定义基本數据类型复杂数据类型(时间与日期,字符串结构体,数组等)PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型可以直接键入数据类型标识符,或者通过该列中的选择按钮选择如下图所示:

需要创建多个数据类型相同的变量时,可以将光标置於第一个变量名称的右下角待光标变为“+”符号后向下拖动光标,即可轻松创建多个具有类似属性的变量:

DB块数据的保持性:对于可優化访问的数据块其中的每个变量可以分别设置其保持与否;而标准数据块仅可设置其中所有的变量保持或不保持,不能对每个变量单獨设置如图7和图8所示:

图7 标准数据块中仅可设置所有的变量保持或不保持

图8 可优化访问的数据块中可以分别设置每个变量的保持性

注意:复杂数据类型只能符号寻址。

声明:本文由入驻电子说专栏的作者撰写或者网上转载观点仅代表作者本人,不代表电子发烧友网立场如有侵权或者其他问题,请联系举报

使用S7-1200的CB1241通讯卡和modbus设备通讯时读取不到数据,请问是什么原因

我要回帖

更多关于 什么才能什么 的文章

 

随机推荐