[业务]OMRON编程培训
设备部OMRON编程培训内容
编写人:李一清、刘宏伟 一、编程软件:CX-Programmer4.0
1、SSS/LSS DOS系统
CPT WIN3.2
CX-P WIN95/98/2000/XP
2、CX-P的功能
编程
网络配置
远程监控
公用电话线 RS-232
电脑 MODEM MODEM
PLC
扩展指令:如果指令没有功能号,首先要赋功能号。(DIP,4要置ON)
PLC内存:深灰色——这个型号不可用
浅灰色——系统已定义,用户不可用。
三种模式:各有用途
编写程序 修改数据 执行程序
编程 ? ? ×
监视 × ? ?
运行 × × ?
二、指令系统:按照使用的情况分,大致分为8类
1、 基本逻辑指令:LD(加载)、OUT(输出)、PULS(脉冲设定)、SPED(速度输出)
2、 定时器、计数器:TIM(定时器)、CNT(计数器)、TIMH(高速定时器)
3、 数据处理类指令:MOV(传送)、CMP(比较)、SFT(移位寄存器)
4、 流程控制:JMP/JME(跳转/跳转结束)、SBN/RET(子程序入口/子程序返回)、MCRO
(宏命令)
5、 监控类:FAL/FALS(故障报警/严重故障报警)、WDT(延长最大循环时间)
6、 处理I/O类: IORF(I/O单元刷新)、DLNK(CPU总线单元I/O刷新)
7、 内存管理类:EMBC(选择EM区)、SSET(设置堆栈)、PUSH(推入栈)、LIFO(后
进先出)
8、 通讯类:STUP(修改串行口设置)
指令的格式:助记符(功能号),操作数
位地址:0,15
通道地址:000,999
指令的微分形式:@
1、 上升沿有效
2、 作用时间为一个扫描周期
扫描周期:5ms
0. 00开关ON:11ms
MOV:传送了2次
@MOV:传送了1次
?部分的特殊指令前可以加@
基本逻辑指令?
例:当第一次按下按钮,电机开,当第二次按下按钮,电机关
输入:0.00,输出10.00
第二种方法:
? 定时器、计数器指令
定时器:
TIM N:0000,4095(十进制)
N N:定时器号 S:#0000~#9999(BCD)
S 最大为999.9秒 S:设置值
定时器作脉冲输出:
输入:0.00,输出1.00
输出1.00波形图:
因为扫描周期很短,看不出闪烁。可以在“PLC设定”里设定扫描周期,但是有最大限定(默认120ms)。同时,循环时间<循环监视时间。
高速定时器:0.01秒
N:000~014 TIMH
S:,0000,,9999 N 最大为99.99秒 S
? 要保证扫描周期<定时时间,否则会产生累积误差。
累积定时器:TTIM
TTIM
N N:0000,4095
S S:,0000,,9999
计数器指令:CNT 递减
可逆计数器:CNTR 可递减,可递增
它有两个计数端,一个为正计数,一个为减计数
? 数据传送类
MOV,@MOV 传送的是立即数,不管数据的形式 间接DM地址:
用途:
将DM200里的数作为地址,
把DM100里的数赋给这个
地址。
DM100 5 5 5 5
„„
DM200 1 2 3 4
„„ „„ DM1234 5 5 5 5 „„
MVN:取反传送
用途:
将100中位的状态取反,并
把结果送到DM100中。
9 2 0 D
1001 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1
DM100 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0
6 D F 2
双字节传送:MOVL、MVNL
多字传送:XFER
块设定指令:BSET
可以把一个字的内容设定到指定的连续存储区中,只要指出该区的起始地址及末了地址。
用途:
将DM100中数送到
DM1000,DM2000里,可以
在第一个扫描周期用作初始
化。
带偏移目标地址的传送指令:DIST
把源地址的内容传送给某址加偏移地址后的地址。
DIST
S S:源字
Bs:目标基址
Of:偏移量
Bs
Of
DIST
DM100 用途:
DM200 将DM100里的数据传送到DM210(200,10)。
#0010
带偏移源地址的传送指令:COLL
把源字(由基址加偏移量计算得出)传送到目标字中。
COLL
Bs:源基址 Bs
Of:偏移量 Of
D:目标字 D
用途:
如果DM200的内容是10,将把DM110
(DM100+10)的内容拷贝到DM300
中。
数据交换:XCHG
XCHG 用途:将E1和E2中的内容进行交换。
E1
E2
单字比较:CMP
? 比较结果的标志位是共用的,最好用内部继电器保持。
不要在指令和算术标志控制指令之间编写其他指令,不然可能会改变算术标志的状
态。
不正确的使用方法:
用途:
比较两个无符号二进制值,
并输出结果到辅助区的算术
标志中。
25505——大于;
25506——等于;
25507——小于。
正确的使用方法:
表比较:TCMP
TCMP
S:源数据 S 用途:
T:表格首字 T 比较源数据和16个连续字的内容,当两字
R:结果字 R 的内容相等时,结果字中的相应位变ON。
块比较:BCMP
BCMP 用途:
S:源数据 S 比较源数据和16个范围(由16个下限和
B:块首字 16个上限定义),当源数据在范围内时,结B
R:结果字 果字中的相应位变ON。 R
(不在范围内)将被输出给字R的相应位。?如果下限大于上限,不会发生错误,但0
SFT:寄存器移位
数据输入SFT
St 移位输入 St:开始字
E 复位输入 E:结束字
例:利用移位指令SFT使输出的16个灯从右至左以1秒速度依次亮;当灯全亮后再从右至左依次灭。如此反复运行。(输入地址:0.00,输出地址:1.00~1.15)
1通道16个灯的排列:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 梯形图:
数字运算:
十进制:ADD(30):(,)
SUB(31):(,)
MUL(32):(*)
DIV(31):(/) 二进制:ADB(50)
SBD(51)
常 用:INC:,1指令
DEC:,1指令
Root(72):开方
79):浮点除 FDW(
SUM(184):求和
AVG(195):求平均值
MAX(182):求最大值
MIN(183):求最小值
PID(190):PID控制
SCL(194):标度
APR(69):数学处理
标度:SCL
SCL
S:源数据 S 用途:
P1:参数首字 P1 根据指定的线性函数将无符号二进制数据
R:结果字 R 转换为无符号BCD码。
可用于称重系统:
模拟量
S C L
显 示
? 流程类指令
PLC指令一般是从零地址开始执行,依次进行直到END指令。为了简化编程或减少扫描时
间,或实现特殊控制就必须改变程序的流程。为此,PLC设有改变程序流程的指令。
JMP(04): 跳转
JME(05): 跳转结束
JMP和JME要成对使用,如果跳转条件不满足,JMP和JME间的程序将不被扫描,输出状
态保持,不会被复位。它的优点是可以减少扫描时间。
子程序指令:
SBS(91):子程序调用
SBN(92):子程序入口
RET(93):子程序返回
宏:MCRO
宏实质上也是子程序。相同结构、地址不同的指令可用
? 监控指令
用户定义故障代号:FAL(06) FALS(07)
信息显示:MSG
如果想要显示“BAT_LOW”的信息,将字母的ASC?写入DM100里,以0D作为结束符
PLC运行时,若0.03被触发,“BAT_LOW”将在出错信息里显示。
? I/O管理指令
当无I/O管理刷新指令时,I/O刷新在用户程序执行后进行。但有的输入/输出要急于用
作处理,这就要用到I/O刷新指令。
一个位的刷新:CS1机型在输入或输出指令中,附加感叹号“~”,可以进行I/O刷新
多位、多通道的刷新:
IORF
St:开始字 St 用途:
E: 结束字 E 刷新St和E之间的所有的I/O字。
三、编程方法
1、 经验法编程
它是应用自己的或别人的经验进行
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
,它可以用于逻辑关系简单的梯形图设计。
2、 顺序法编程
很多工业过程是顺序进行的,设计顺序控制系统的梯形图有一套固定的方法和步骤可以遵循。它简单易学,设计周期短,规律性很强,克服了经验法的试探性和随意性,设计出来的程序结构清晰、可读性好。
3、 时序图法编程
时序图是信号随时间变化的图形,这种易图形为基础,进行PLC程序设计,称时序图法。
这种方法适应于定时或计数的程序。
4、 技巧法编程
技巧编程,是基于功能指令的编程,要讨论如何用功能指令去处理继电器电路的逻辑问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,以提高程序的效率。
5、 任务法编程
任务法编程目前仅CS1 PLC有,其CPU单元将从最低的任务好开始执行循环任务,如果有中断发生任务时,它将中断循环任务的执行转而去执行一个中断任务。
四、编程要求
到底怎么评价PLC程序呢,
1、正确 PLC的程序一定要正确,并要经实际工作验证,证明其能够正确工作;
2、可靠 程序不仅要正确,而且要可靠;
3、简短 使PLC的程序尽可能简短,也是应追求的目标; 4、省时 程序简短可以节省程序运行时间,但简短与省时并不完全是一回事。因为运行程序时间虽与程序所拥有的指令条数有关,而且还与所使用的是什么指令有关,不同的指令执行的时间也不同;
5、可读 这不仅便于程序设计者加深对程序的理解,便于调试,而且还便于别人读懂你的程序,便于使用者维护