这里写自定义目录标题
程序结构
PLC工作原理
工作方式:循环工作方式(扫面工作方式)
读取输入:PLC输入端子状态读取
处理通信请求:响应各种通信请求
自诊断检查:对CPU固件、程序存储区、扩展模块工作状态检测
启保停:
LD:
O:或运算
AN:取反操作
程序结构
主程序:
子程序:
将子程序做成库,便于进行项目移植
中断程序:(执行某一特定程序时或发生某一特定事件时,触发中断程序)不能被调用,只能由中断事件触发
200splc主要的三种编程方式
(不推荐)线性化编程:将所有程序写在主程序中
功能块化编程:将不同的功能做成一个子程序,然后在主函数中调用
(推荐)结构化编程:相同功能的程序做成可重复调用的子程序(涉及到使用变量),更容易实现程序的移植
数据存储类型
数制基础
常用的三种数制:2进制(binary)、8进制(octonary)、10进制(Decimal)、16进制(hexadecimal)(可相互转换,转换后数值大小不变)
选择的数制,取决于格式
2进制转10进制
10进制转2进制
2进制转16进制转换
16进制转2进制
每个16进制位转化为4个2进制位
数据类型(帮助—索引—数据类型) (不同数据类型不能进行统一运算)
开关量:开或关(通或断)---->I(只能输入,不能存储) Q(一般用于输出存储) M(存储空间一共256位,存储区小)
V(存储空间巨大) S(状态器,很少用) L(状态器、临时变量)
布尔量(BOOL)
数字量
位
无符号数(正数)
字节(Byte)8位 (0-255)
1Byte=8bit,最大存放数值0-255
字(word)16位 (0-65535)
1W=2Byte,最大存放值为2^16-1=0-65535
双字(double word)32位 (0-4294967295)
1DW=2W=4Byte,最大存放值2^32-1=4294967295
有符号数(含正负)
整数(INT)16位(有符号数,含正负)(-32768-32767)
取值范围:-32768-32767 (总数量为65535,一般为正,一般为负)
双整数(DINT)32位(有正负)(-2147483648-2147483647)
取值范围:-2147483648-2147483647
浮点数(实数、Real)32位(带小数点的数)(默认含正负)
注意32位,地址只能用VD
字符串(0-255byte)
总结:
1位:I Q V M
8位:
Byte(0-256)
IB QB VB MB
16位:
Word(0-65535)
INT(-32768-32767)
32位:
Dword(0-4294967295)
DINT(-2147483648-2147483647)
Real
数据存储区
与实际输入/输出相关的存储区
输入点、开关信号(通过外围信号来改变值,所以只能强制来改变值,不能写入值)
I区(输入过程映像区)
Q区(输出映像区,控制指示灯、电磁阀等)
AI区(模拟量转化后得到数字量(模数转换)只能按字寻址不能按位寻址)
AQ区(只支持字寻址)
内部数据存储区
PLC运算数据的存储
M:作为系统标志位,系统运行标志、正反转标志
V:全局变量
SM:
高速计数器+旋转式增量编码器,通常配合使用
L 在带参子程序中使用,系统自动分配地址为L开头
s和顺控指令配合使用,推荐对带有动作顺序过程的程序
AC
数据存储器的寻址方式
直接寻址(给定地址)
按位寻址
按位寻址
按字节寻址
按字节寻址
存储器标识符:数据存储区类型
间接寻址(指针)
数值在PLC中的存储方式
整数(最高位表示符号位)
要使用16位存储区(其中最高位表示符号位)
负数
先写原码(负数取绝对值转化为2进制)—再写反码—最后补码
若此时选择数据格式为无符号,那么值很大,因为此时将补码转化为了整数
实数(浮点数)本质都带小数
字符存储
其中D6 D5 D4表示高位
D3 D2 D1 D0表示低位
第一个字节要表示字符串的长度,例如下方“SMART”字符串长度为5,所以第一个字节为5
字符的两种赋值方式
使用的指令:传送指令、单引号引用
1、直接使用传送指令
2、使用数据块,赋予某地址初始值,然后用传送指令中 调用地址即可
此时将‘A’赋值给VB100,所以传送指令中直接传送地址VB1100即可
字符串的两种赋值方式(和字符赋值方式类似)
使用字符串的**“COPY”指令** 、 双引号引用
一个汉字占用两个字节
1、直接调用copy函数
2、数据块赋值,之后调用copy函数即可
PLC数据类型
BOOL变量:(一般开关使用)
BYTE:存储字符或数据
INT:有符号(数据读取、加减乘除运算)
Word:无符号(逻辑运算使用、触摸屏离散量报警)
REAL:压力、温度、流量