存储区分配
- CIO区
- W区
- H区
具有断电保持,可以当做是W区的扩展 - D区
断电保持
- CIO输入输出
- 内部辅助继电器区WR
- 保持继电器HR
- 特殊辅助继电器AR
- 暂存区TR
- 数据存储区DM
- 定时器TIM
- 计数器CNT
- 任务标志TK
- 变址寄存器(IR)
- 数据寄存器DR
有的是只读的,不能强制给信号
存储地址表示方式
- 字地址
-位地址
D通道不能位寻址
单通道的组成(单字16位)
双通道组成(双字)
w0.10对应b9;w1.03对应b19
单通道内容十六进制表示
0(0000) 8(0100) 2(0010) 0(0000)–>820
有符号的整数表示
IO输入通道范围
即使b12没有使用,那写了I.12也不会报错,编译会通过
IO输出通道范围
低8位有效 O100.0-O100.7
通道数据表示方法
指令系统详解
指令结构
- 驱动流向
D0=16进制的1215线圈才会执行
指令操作数
把源操作数数据传给D0;
执行条件(非微分执行)
当满足条件为ON时,每一个扫描周期都会执行一次
比如计数用微分,一次加一
上升沿微分指令
下降沿微分指令
基本概念编程练习
计数器一直递增,每个扫描周期都在执行
修改为微分指令,上升沿执行一次
顺序输入指令
0.00按钮一直按着,100只执行一次
典型的单按钮启停
顺序输出指令
保持输出指令
如果0.02为ON那么100.00为ON
如果0.03为ON那么100.00为OFF
保持输出指令演示
- KEEP
- SET/RSET
可以通过其他的指令去复位保持的 如下 给100写个0
SETA/RSTA
置位100的1-16位为1
复位100的1-32位为0
MOVL双字传送0给100,就是传送了32位,所以100通道和101通道全部设置为了0
互锁指令中使用keep
互锁指令不接通的情况下,启动0.10是不会通的
互锁/互锁清楚指令 IL/ILC
自锁互锁清除指令演示
0.00位off,所以100.00不会输出
0.00接通后,先把0.02断开,再接通w0.00才能有计数
先接通0.00,后接通0.03,w0.01计数;然后断开0.03,断开0.00计数保持
这里是自动程序,也就是说在手动程序中0.00接通,那么自动程序里0.00是断开的,后面输出被互锁。
公共程序
跳转指令
128个跳转号,操作数是无符号常数0-127
使用了JMP,但是没有JME,会出错
- 跳转指令演示
OFF跳转
执行后面的程序
计时30s,100.00接通
计时30s,后100.01 100.02导通
100.03通10s,在断10s;
计数器指令
只有off-on的上升沿计数一次
复位优先级最高
- 计数器指令演示
设置为0,计数器标志为ON
使用mov指令为C0传 0,n那么100.00接通,计数器的值是存在D100中
递增指令讲解
- 递增指令演示
微分指令,+1
递减指令
传送指令
100通道的复制给D100
输入比较指令
输入比较指令演示
两个通道的值进行比较
输出比较指令
第一条指令10=10,等于标志输出,(等于标志只有一个)
第二条指令的等于标志受到第一个的影响所示输出了。但是100.03不输出
第二条指令10>5,100.05输出了。
模拟量
只有NA系列的PLC带模拟量,CP1E其他系列的都不支持
本身自带2路模拟量输入,可扩展3块,每块4路;共14路
本身自带1一路模拟量输出,可扩展3块,每块4路;共13路
模拟量转换原理
扩展模块
输入模块
自带模块
可以选择几路输入和输出
范围可选
模拟量输出,move D102 190把102的数据给190,
把6000的值给D102那么将会有10V的模拟量输出,