资源描述:
《PLC设计规范说明.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*PLC设计规范说明:1、变量名称:以字母开头的字母、数字串,长度不超过15个字符最好用大写字母开头,以免和编译程序冲突在一个单独的文件variable.cpp中进行集中定义,直接分配按ANSIC格式进行读写、调用,表达式须符合ARM规范xxx=000---999(没限制),y=0---7,*=数字、字母串16位的移位寄存器用Mxxx8表示,不能写成Mxxx0,在复位时清零Mxxx(Mxxx0不变)和Mxx(x+1)二个字节Xxxxy:输入单元,按位读写,母变量为XxxxYxxxy:输出单元,按位读写,母变量为YxxxMxxxy:辅助单元,按位读写,母变
2、量为Mxxx当在PLC程序中用C语言调用时候,也可以按字节,字双字读写,这根你定义时候的母变量有关系;在程序中由TranslatePlc.h文件中的VARIABLE_BIG宏确定Txxx:定时器,按位读,按字写Cxxx:计数器,按位读,按字写BXxxxy:带上升/下降自动备份处理的输入单元,一般不用!BYxxxy:带上升/下降自动备份处理的输出单元,一般不用!BMxxxy:带上升/下降自动备份处理的辅助单元,由系统自动处理!BTxxx:定时器变化单元BCxxx:计数器变化单元Bxxx:计数器专用辅助位变量,由系统自动处理K*:工作数据单元,占1个或2或4个
3、字节D*:工作数据单元,占1个或2或4个字节,(或特别定义的浮点数处理)*变量名:对后续的地址变量/表达式进行间址处理,单/双字节&变量名:返回变量的地址,双字节变量名:返回变量的值,单/双字节为抗干扰和防止执行顺序的影响,可在主控循环开始前执行带缓冲的输入扫描,结束后执行带缓冲的输出控制,中断里的输入、输出一般不进行缓冲2、指令格式:类似于标准PLC程序一个程序由若干段小程序按编辑顺序组成,从上往下、从左往右执行一程序段由若干行程序组成一行程序由多个逻辑单元(或单个)、一个动作单元组成,在动作单元之前可加挂多行程序一个逻辑单元可跟另一个逻辑单元相并或相串
4、组成一个新的逻辑单元;:该行为注释行/其后为注释,不予处理动作单元标准格式:动作表达式,表达式不能为空例子:OUTM000逻辑单元标准格式:逻辑表达式,表达式不能为空例子:LDX0003、操作说明:在下面,S表示当前逻辑状态(子线值)0或1动作单元:OUT变量:将S赋给目标单元PLS变量:当S为由0变为1时目标单元置,否则复0,BMxxxy=SSFTL变量:当S为1时将16或者32位的移位寄存器左移一位S或者SET变量:当S为1时置位目标单元R或者RST变量:当S为1时复位目标单元,对移位寄存器Mxxx8清2个字节OUT$表达式:当S为1时计算表达式OUT
5、@程序标号:当S为1时转到标号处,如不带标号则转到下一程序段,即退出程序OUT#表达式:当S为1时等待表达式为真,在执行下面程序逻辑表达式:变量:取变量的值,转换成位值0或1变量1变量2:求表达式的值,转换成位值0或1母变量Xxxx、Yxxx、Mxxx在表达式中直接为其相应物理单元内的值Cxxx、Txxx在表达式中直接为其相应物理单元内的值其它变量如K*,D*,等直接为其相应物理单元内的值读取:逻辑单元返回Xxxxy、Yxxxy、Mxxxy的值(0或1)Cxxx:ifBCxxx+1>Cxxx
6、
7、Cxxx==0,thenreturn1elsereturn0T
8、xxx:ifBTxxx+1>Txxx
9、
10、Txxx==0,thenreturn1elsereturn0当Cxxx、Txxx置为-1时则无论何时读都为0(即使置位时)当Cxxx、Txxx置为0时则无论何时读都为1(即使复位时)输出:动作单元当S=1时,Xxxxy=1,Yxxxy=1,Mxxxy=1当S=0时,Xxxxy=0,Yxxxy=0,Mxxxy=0当S=1时,ifBTxxx==-1,thenBTxxx=0;起动计时器elseifM072&&BTxxx11、;Bxxx=1计次,复位时无效(BCxxx为全1),只执行Bxxx=1当S=0时,对Txxx,执行BTxxx=-1(复位)对Cxxx,执行Bxxx=0计算:动作单元(OUT$表达式)当S=1时,求表达式的值,如Txxx=Value、Cxxx=Value当S=0时,无效复位:动作单元(R或者RST目标单元)当S=1时,Xxxxy=0,Yxxxy=0,Mxxxy=0(Mxxx8清高15位)BTxxx=-1,BCxxx=-1,读取时强制为0当S=0时,ifBTxxx==-1,thenBTxxx=0;允许计时ifBCxxx==-1,thenBCxxx=0;允许计次
12、对其它变量无效置位:动作单元(S或者SET目标单元)当S=1时,X