PLC设计规范说明

上传人:ji****72 文档编号:37548478 上传时间:2018-04-18 格式:DOC 页数:6 大小:47KB
返回 下载 相关 举报
PLC设计规范说明_第1页
第1页 / 共6页
PLC设计规范说明_第2页
第2页 / 共6页
PLC设计规范说明_第3页
第3页 / 共6页
PLC设计规范说明_第4页
第4页 / 共6页
PLC设计规范说明_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《PLC设计规范说明》由会员分享,可在线阅读,更多相关《PLC设计规范说明(6页珍藏版)》请在金锄头文库上搜索。

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*: 工作数据

3、单元,占 1 个或 2 或 4 个字节 D*: 工作数据单元,占 1 个或 2 或 4 个字节,(或特别定义的浮点数处理)*变量名: 对后续的地址变量表达式进行间址处理,单双字节: 该行为注释行其后为注释,不予处理动作单元标准格式: 动作表达式, 表达式不能为空例子:OUT M000逻辑单元标准格式: 逻辑表达式, 表达式不能为空例子:LD X0003、操作说明: 在下面,S 表示当前逻辑状态(子线值)0 或 1动作单元: OUT 变量: 将 S 赋给目标单元PLS 变量: 当 S 为由 0 变为 1 时目标单元置, 否则复 0, BMxxxy=SSFTL 变量: 当 S 为 1 时将 16

4、或者 32 位的移位寄存器左移一位S 或者 SET 变量: 当 S 为 1 时置位目标单元R 或者 RST 变量: 当 S 为 1 时复位目标单元, 对移位寄存器 Mxxx8 清 2 个字节OUT $表达式: 当 S 为 1 时计算表达式OUT 程序标号: 当 S 为 1 时转到标号处, 如不带标号则转到下一程序段,即退出 程序OUT #表达式: 当 S 为 1 时等待表达式为真,在执行下面程序逻辑表达式:变量: 取变量的值, 转换成位值 0 或 1变量 1 变量 2: 求表达式的值,转换成位值 0 或 1母变量 Xxxx、Yxxx、Mxxx 在表达式中直接为其相应物理单元内的值Cxxx、Tx

5、xx 在表达式中直接为其相应物理单元内的值其它变量如 K*,D*,等直接为其相应物理单元内的值读取: 逻辑单元返回 Xxxxy、Yxxxy、Mxxxy 的值(0 或 1)Cxxx: if BCxxx+1Cxxx | Cxxx=0, then return 1else return 0Txxx: if BTxxx+1Txxx | Txxx=0, then return 1else return 0当 Cxxx、Txxx 置为-1 时则无论何时读都为 0(即使置位时)当 Cxxx、Txxx 置为 0 时则无论何时读都为 1(即使复位时)输出: 动作单元当 S=1 时, Xxxxy=1, Yxxxy

6、=1, Mxxxy=1当 S=0 时, Xxxxy=0, Yxxxy=0, Mxxxy=0当 S=1 时, if BTxxx=-1, then BTxxx=0; 起动计时器else if M072 /C 语言语句 $jiaoqiang() $ LD M846 AND M841 LD M410 ANI Y000 ORB AND M831 OUT M410 $5、编程说明: 1文件不正常时报警并停止编译,并且指示出错行数 2在扫描源文件时如遇到一行以#END 开始则停止处理该文件 3以#开头的语句,当作 C 语言语句注释不处理 4以$开头的语句,当作 C 语言语句直接翻译成机器码程序 5以开头的语

7、句,翻译成函数调用 6以标号后加:开始的行直接输出, :后的内容不输出 7非 C 语言语句的;后的内容被视为注释内容 8一段程序的前、后、中间都可有注释行9一个程序段只有一个入口点,可有多个出口点(主要是节省编译时间)! 10一复合单元只有一个入口点,只有一个返回点(主要是节省编译时间)! 11允许从一段程序中跳转到另一程序段的起始处(标号处), 但不能跳转到另一子程序 内 12调用子程序后状态堆栈值不能恢复,因此只能在程序段的最后调用 13入口子程序名必须为 main,为 PLC 的 IO 处理入口,在 IO 扫描输出后执行, 14用于紧急处理,定位在运行起始地址处 15函数 PCCLOOP

8、()为循环处理程序,定位在运行起始地址+3 处,在顺序功能编程时 不执行 16对同一个变量,/和不能多次使用,因为每次使用后都会变量当前值立即拷贝到辅助单元从而使得随后的使用会得到结果 0, 所以只能通过直接用辅助单元来实现, (目前程序暂时不支持微分积分指令)17一段程序最多嵌套 8 层堆栈 18一行程序最长 128 个字符 19变量必须先赋值再引用,否则可能出现闪一下的现象,即变一次才回复正常 20以便阅读及编写超长程序行(最长 128 个字符)逻辑语言基本指令:(用于编写 PLC 程序)LD 逻辑位单元: 将状态值压入堆栈(必要时) ,取逻辑单元的值赋给状 态值LD 参数 1 参数据 2

9、将状态值压入堆栈(必要时) ,取(参数 1参数)的逻辑 状态值赋给状态值LD= 参数 1 参数据 2.LD 参数 1 参数据 2将状态值压入堆栈(必要时) ,取(参数 1参数)的逻辑状态 值赋(取反)给状态值LDI= 参数 1 参数据 2.LDI 参数 1 参数据 2AND= 参数 1 参数据 2AND 参数 1 参数据 2OR= 参数 1 参数据 2OR 参数 1 参数据 2ORI= 参数 1 参数据 2ORI1,0在保持一个扫描周期后 M992:100ms 时钟周期, 150ms,050ms,只维持一个 PCC 循环 M993:10ms 时钟周期, 15ms,05ms, 只维持一个 PCC

10、 循环7、数据定义说明(目前版本变量说明):M00M99 辅助变量等母变量,共 100 个,子变量为 07,位变量 800 个;X00X03 输入寄存器母变量,共 4 个,子变量为 07,位变量 32 个;Y00Y03 输出寄存器母变量,共 4 个,子变量为 07,位变量 32 个;T000T099 时间继电器,32 位,共 100 个C000C099 计数器,32 位,共 99 个K1000K1999 单字节无符号寄存器,共 1000 个K2000K3999 双字节无符号寄存器,共 2000 个K4000K4999 四字节有符号寄存器,共 1000 个D1000D1999 单字节有符号寄存器,共 1000 个D2000D3999 二字节有符号寄存器,共 2000 个D4000D4999 浮点数寄存器,共 1000 个 */

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号