西门子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