子程序库,其实就是自己定义的子程序,可以当做西门子的指令一样使用。当然在库文件中使用的都是符号地址,不能出现实际的V地址。举个例子来说:西门子中有没有求模的指令?
我曾经做了一个单字数据求模的指令,现写在这里大家共享下,子程序名定义为MOD_I,具体STL程序如下(注意都是符号地址,数据类型为WORD):
LD SM0.0
MOVW #IN_WORD1:LW0, #DATA_TEMP1:LW6
/I #IN_WORD2:LW2, #DATA_TEMP1:LW6
MOVW #IN_WORD2:LW2, #DATA_TEMP2:LW8
*I #DATA_TEMP1:LW6, #DATA_TEMP2:LW8
MOVW #IN_WORD1:LW0, #MOD_OUT:LW4
-I #DATA_TEMP2:LW8, #MOD_OUT:LW4
你可以转换成LAD程序,看下就明白了。
西门子库程序是由带参数的子程序生成的,只要掌握了带参数的子程序,创建库和搭建主程序会变得很简单