在启动型OB(如用于S7-300的OB100和用于S7-400的OB100和OB101)和循环模式OB(OB1)中,必须调用数据通讯或程序管理(把PLC切换到STOP或RUN)所需的所有SFB。 OB100是启动型OB,并在重新启动CPU时运行。例如,在该OB中,用标记M1.0和M0.1来释放个通讯触发器。
76:怎样编程间接访问一个ARRAY类型变量的元素?
一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).
声明部分:
在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。
网络:
域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法: 地址(指数):b = 元素长度*(指数 - 1)
创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。
西门子PLC与三菱PLC的区别?
一、编程理念不同
三菱plc是日系品牌,编程直观易懂,学习起来会比较轻松,但指令较多。而西门子plc是德国品牌,指令比较抽象,学习难度较大,但指令较少,所以学习三菱和学习西门子的周期是一样的。
个人认为三菱(日系的中高端品牌)PLC的软件至少落后西门子5年以上,大中型的暂且不说,就拿三菱比较有优势的小型机FX系列和西门子S7-200系列相比,西门子有如下优势:
1、三菱的编程软件从早期的FXGPWIN到近期的GX8.0(我所知道新的),和所有的日系品牌一样,该软件的编程思路是自上而下的单一纵向结构,而西门子的MicroWIN则是纵向和横向兼备的结构,而且子程序支持局部变量,相同的功能只需要编一次程序即可,大大减少了开发难度和时间。
2、S7-200一直以来支持强大的浮点运算,编程软件直接支持小数点输入输出,而三菱直至近年推出的FX3U系列才有此种功能,以前的FX2N系列的浮点功能都是假的。
3、S7-200的模拟量输入输出程序非常简单方便,AD、DA值可以不需编程直接存取的,三菱的FX2N及其以前的系列都需要非常繁琐的FROM TO指令。FX3U如今倒支持此功能了,但足足晚了五年甚至更多。
4、当然三菱的FX2N系列也有它自己的优势,一是高速计数器指令比S7-200方便,二是422口比西门子的PPI口皮实(因为200系列的PPI口是非光电隔离的,非规范操作和仿制的编程电缆可能会导致串口损坏)。
以上的比较仅仅是小型机,至于西门子的300和400系列以及更大型的TDC系列,这里就无需多言了。
二、芯片不同
这主要体现在容量和运算速度上。西门子CPU226的程序容量20K,数据容量14K;而三菱FX2N总共才8K,后来的3U倒是有所改进。
西门子CPU226和CPU224XP标准配置2个485口即PPI口,大通讯速度187.5K;而三菱FX3U之前的所有系列都是一个422口,而且速度是9.6K。如果需要连个智能仪表什么的则必须另购FX2N0-485BD等特殊模块。而且两个通信口可以一个连接下载数据线一个连接触摸屏进行调试程序,否则你就要拔下触摸屏数据线再连接触摸屏数据线,来回调整程序非常麻烦。
三、控制的强项不同
西门子的强项是过程控制与通信控制,西门子的模拟量模块价格便宜,程序简单,而三菱的模拟量模块价格昂贵,程序复杂,西门子做通信也容易,程序简单,三菱在这块功能较弱。(的转发暗号是:亿维品质保证:半年包换、5年保修、终生维护)
三菱的优势在于离散控制和运动控制,三菱的指令丰富,有专用的定位指令,控制伺服和步进容易实现,要实现某些复杂的动作控制也是三菱的强项,而西门子在这块就较弱,没有专用的指令,做伺服或步进定位控制不是不能实现,而是程序复杂,控制精度不高。