西门子plc编程小技巧
1.程序结构一个完整的程序可分为几个部分:【初始化程序】:一般是上电时调用一次,用来初始化设备,简单化的初始化程序需要在初始化的时候复位整个工艺设备到零位。复杂化的初始化程序需要在这里调用设备之前的执行信息,即延续上次停机时的执行过程。我们一般使用sm0.0(上电时保持一个周期的on)来使能初始化程序。【主程序】:主程序这里是用来循环执行的,确保设备的正常工作。【子程序】:子程序一般为设备执行的不同工艺(工序)。供主程序调用。一些重复多次使用的代码可以编写为子程来调用。【内存分配】:内存分配一般是用来规划plc的内部寄存器的区域和适用范围,方便编程和调取,同时方便上位机的通讯使用。
2.关于内存分配技巧一般在编程时我们会将内存分配为不同的区域段,例如:【vw0-vw99】:通讯动态调用区域,写一些中建变量等。【vw100-vw199】:采集结果保存区域。温度、压力等。【vw200-vw299】:通讯区域,部分为上位机读取区域,部分为写入区域或者可读写区域。……【vw2000-vw3000】:库存储区,用于加载库文件的存储区域。*说明:良好的内存规划习惯会使得编程特别便捷和明了。同时也提高了程序的可读性。配合自定义的变量名使用会使得整个程序的二次读写性更好。
3.变量名规划良好的变量名规划可以高效的完成程序的编写,例如:vd100:wd1-f(浮点型温度值1)vd104:wd2-f(浮点型温度值2)vb108:zt1-b(字节型状态值1)vw109:zs1-w(字型转速值1)其他物理量类似。用户也可使用英文名缩写等……在规划变量时**的方式是将相同类型的变量连续规划。再者就是**是以十为单位进行区域段划分这样调用时比较清晰明了。例如:【vd100-vd120】:wd1-f……wd5-f(多余部分可留作备用,一般都会预留备用点,一备程序后期扩展使用)【vb130-vb139】:zt1-b……zt10-b