梯形图比较数据存储器的,西门子PLC梯形图所有指令符号
一、西门子plc编程梯形图中的v和M的区别
V和M基本上功能一样,但是V的内存区域大,一般用V存放模拟量数值和运算中间量,而M区域一般用数字量的中间继电用。 V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过v区比较大,而且掉电可以保存,其他功能和m差不多
1、V和M没有变质的区别,地位几乎可以互换;
2、V多而M少。M少可以使指令码短,存贮和执行效率提高。
3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属永久型保持,除此之外的保持是临时的由超级电容或电池保持的。
4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,也有分区的情况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。 5、V和M由于符号上的区别,习惯上把它们的用途作一些分类,比如M主要用来作位变量的。
二、梯形图中怎么给变量存储器初始化
方法是在定义变量的同时给其一初始值。结构体变量的初始化,遵循相同的规律。简单变量的初始化形式如下:数据类型变量名=初始化值;例如,定义整型变量a,并给其初始化值10的语句如下int a=10;数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:数据类型数组名称〔数组长度〕={初始化值1,初始化值2,…,初始化值n};例如,定义长度为5的整型数组,并对其初始化的语句如下:int A[5]={20,21,0,3,4};结构体变量的初始化方式与数组类似,分别给结构体的成员变量以初始值,而结构体成员变量的初始化遵循简单变量或数组的初始化方法。具体的形式如下:struct结构体标识符{成员变量列表;…};struct结构体标识符变量名={初始化值1,初始化值2,…,初始化值n};例如,定义struct Point类型变量,并初始化的语句如下:struct Point oP1={0.0,0.2,0.3};struct Point类型变量oP1的三个成员变量的值分别为oP1.x=0.0,oP1.y=0.2oP1.z=0.3由于定义结构体变量有三种方法,因此初始化结构体变量的方法对应有三种,上面已经介绍了其中的一种形式,其他两种形式如下:struct Point{double x;double y;double z;} oP1={0.0,0.2,0.3}; struct{double x;double y;double z;} oP1={0.0,0.2,0.3};在初始化结构体变量时候,既可以初始化其全部成员变量,也可以仅仅对其中部分的成员变量进行初始化。例如:struct Student{long id;char name[20];char sex;}a={0};其相当于a.id=0;a.name=“”;a.sex=‘\0x0’。仅仅对其中部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的成员变量由系统完成初始化,为其提供缺省的初始化值。
三、西门子PLC梯形图所有指令符号
1位逻辑指令
1.1位逻辑指令概述
1.2-||-常开接点(地址)
1.3-|/|-常闭接点(地址)
1.4 XOR位异或
1.5-|NOT|-信号流反向
1.6-()输出线圈
1.7-(#)-中间输出
1.8-(R)线圈复位
1.9-(S)线圈置位
1.10 RS复位置位触发器
1.11 RS置位复位触发器
1.12-(N)-RLO下降沿检测
1.13-(P)-PLO上升沿检测
1.14-(SAVE)将RLO存入BR存储器
1.15 MEG地址下降沿检测
1.16 POS地址上升沿检测
1.17立即读操作
1.18立即写操作
2比较指令
2.1比较指令概述
2.2 CMP?I整数比较
2.3 CMP?D双整数比较
2.4 CMP?R实数比较
3转换指令
3.1转换指令概述
3.2 BCD_IBCD码转换为整数
3.3 I_BCD整数转换为BCD码
3.4 I_DINT整数转换为双整数
3.5 BCD_DIBCD码转换为双整数
3.6 DI_BCD双整数转换为BCD码
3.7 DI_REAL双整数转换为浮点数
3.8 INV_I整数的二进制反码
3.9 INV_DI双整数的二进制反码
3.10 NEG_I整数的二进制补码
3.11 NEG_DI双整数的二进制补码
3.12 NEG_R浮点数求反
3.13 ROUND舍入为双整数
3.14 TRUNC舍去小数取整为双整数
3.15 CEIL上取整
3.16 FLOOR下取整
4计数器指令
4.1计数器指令概述
4.2 S_CUD加减计数
4.3 S_CU加计数器
4.4 S_CD减计数器
4.5-(SC)计数器置初值
4.6-(CU)加计数器线圈
4.7-(CD)减计数器线圈
5数据块指令
5.1-(OPN)打开数据块:DB或DI
6逻辑控制指令
6.1逻辑控制指令概述
6.2-(JMP)-无条件跳转
6.3-(JMP)-条件跳转
6.4-(JMPN)-若非则跳转
6.5 LABEL标号
7整数算术运算指令
7.1整数算术运算指令概述
7.2判断整数算术运算指令后状态字的位
7.3 ADD_I整数加法
7.4 SUB_I整数减法
7.5 MUL_I整数乘法
7.6 DIV_I整数除法
7.7 ADD_DI双整数加法
7.8 SUB_DI双整数减法
7.9 MUL_DI双整数乘法
7.10 DIV_DI双整数除法
7.11 MOD_DI回送余数的双整数
8浮点算术运算指令
8.1浮点算术运算指令概述
8.2判断浮点算术运算指令后状态字的位
8.3基础指令
8.3.1 ADD_R实数加法
8.3.2SUB_R实数减法
8.3.3MUL_R实数乘法
8.3.4DIV_R实数除法
8.3.5 ABS浮点数绝对值运算
8.4扩展指令
8.4.1SQR浮点数平方
8.4.2SQRT浮点数平方根
8.4.3EXP浮点数指数运算
8.4.4LN浮点数自然对数运算
8.4.5SIN浮点数正弦运算
8.4.6COS浮点数余弦运算
8.4.7TAN浮点数正切运算
8.4.8 ASIN浮点数反正弦运算
8.4.9 ACOS浮点数反余弦运算
8.4.10ATAN浮点数反正切运算
9赋值指令
9.1 MOVE赋值
10程序控制指令
10.1程序控制指令概述
10.2-(Call)从线圈调用FC/SFC(无参数)
10.3 CALL_FB从方块调用FB
10.4 CALL_FC从方块调用FC
10.5 CALL_SFB从方块调用SFB
10.6 CALL_SFC从方块调用SFC
10.7调用多北京块
10.8从库中调用块
10.9使用MCR功能的重要注意事项
10.10-(MCR<)主控继电器接通
10.11-(MCR>)主控继电器断开
10.12-(MCRA)主控继电器启动
10.13-(MCRD)主控继电器停止
10.14-(RET)返回
11移位和循环指令
11.1移位指令
11.1.1移位指令概述
11.1.2 SHR_I整数右移
11.1.3 SHR_DI双整数右移
11.1.4 SHL_W字左移
11.1.5 SHR_W字右移
11.1.6 SHL_DW双字左移
11.1.7 SHR_DW双字右移
11.2循环指令
11.2.1循环指令概述
11.2.2 ROL_DW双字左循环
11.2.3 ROR_DW双字右循环
12状态位指令
12.1状态位指令概述
12.2 OV-||-溢出异常位
12.3 OS-||-存储溢出异常位
12.4 UO-||-无序异常位
12.5 BR-||-异常位二进制结果
12.6==0-||-结果位等于"0"
12.7<>0-||-结果位不等于"0"
12.8>0-||-结果位大于"0"
12.9<0-||-结果位小于"0"
12.10>=0-||-结果位大于等于"0"
12.11<=0-||-结果位小于等于"0"
13定时器指令
13.1定时器指令概述
13.2存储区中定时器的存储单元和定时器的组成部分
13.3 S_PULSE脉冲S5定时器
13.4 S_PEXT扩展脉冲S5定时器
13.5 S_ODT接通延时S5定时器
13.6 S_ODTS保持型接通延时S5定时器
13.7 S_OFFDT断电延时S5定时器
13.8-(SP)脉冲定时器线圈
13.9-(SE)扩展脉冲定时器线圈
13.10-(SD)接通延时定时器线圈
13.11-(SS)保持型接通延时定时器线圈
13.12-(SF)断开延时定时器线圈
14字逻辑指令
14.1字逻辑指令概述
14.2 WAND_W字和字相"与"
14.3 WOR_W字和字相"或"
14.4 WAND_DW双字和双字相"与"
14.5 WOR_DW双字和双字相"或"
14.6 WXOR_W字和字相"异或"
14.7 WXOR_DW双字和双字相"异或
推荐阅读