PLC基础学习 - 图文

更新时间:2024-01-27 02:30:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、FX2n系列PLC的编程器件

a) 输入输出继电器(X/Y)

i. 输入继电器:连接外部的各种开关信号,如开关、按钮、脉冲信号 ii. 输出继电器:PLC连接外部负载的接口

b) 辅助继电器M

i. 通用辅助继电器 M0 ~M499 (状态暂存) ii. 断电保持用继电器 M500~M1023 (M800~M999通信用) iii. 断电保持专用 M1024~M3071 iv. 特殊用辅助继电器 M8000~M8255

1. 触点利用型特殊辅助继电器 M8000 运行监控(运行中,总是接通的)

M8002 初始化脉冲 M8012 100ms时钟脉冲 2. 线圈驱动型辅助继电器 M8033(停止时保持输出) M8034禁止所有输出

M8039 恒扫描

c) 状态器 S

状态器S是构成状态转移图的重要软器件,与步进顺序指令配合使用,在不使用不进顺控指令时,状态器S可以像辅助继电器M一样在程序中使用 i. 普通状态器 S0 ~S499 ii. 初始状态器 S0~S10 iii. 回零状态器 S10~S19 iv. 断电保持用 S500~S899 v. 信号报警用 S900 ~S999

注意:S500~S899可以通过修改PLC参数改为非断电保持 S900~S999是断电保持型

d) 定时器T

定时器设定值可用常数(k)或数据寄存器(D)中的数值设定 i. 100ms型 T0~T199 ii. 10 ms型 T200~T245 iii. 1ms型 T246 ~T249 iv. 100ms积算型 T250~T255 (断电保持)

e) 计数器C

i. 16位增型计数器设定值1~32767

普通用途 C0 ~C99 供电保持C100~C199 ii. 32位增/减计数器

(由特殊辅助继电器M8200~M8234设定,特殊辅助继电器置1时递减计数置0时递加计数)

普通用途 C200~C219 供电保持 C220~C234 iii. 高速计数器 C235~C255

1相C235~C240 (对单个X0~X5计数) 1相带启动 C241~C245 (比1相多一个复位端)

1相2输入(双向)C246~C250 (对两个点计数输入点不同而做增或减计数) 2相输入(A-B相输入)C251~C255

M8236~M8245决定C236~C245做递增递减计数

f) 数据寄存器

i. 普通用途 D0~D199 ii. 停电保持D200~D511 ( 通信用:D490~D599主到从站,从到主站D500~D509) iii. 停电保持 D512~D7999 (滤波用) iv. 特殊用途D8000~D8255 v. 变址V0~V7 Z0~Z7(用来改变软元件的地址)

V与Z和普通用途数据寄存器一样,是进行数据的读入和写出的16位数据寄存器,进行32运算时,将两者组合使用,Z为地位V为高位

g) 指针 P/I(M8050~M8059)

分支用/程序跳转 P0~P128

输入中断用 I00 I10 I20 I30 I40 I50(对应中断源 X0~X5)

I001 :第一个0表示X0(类似1表示X1,以此类推)第二个0固定 1表示由断开向闭合变化,类似0表示由闭合向断开变化

定时中断用 I6xx I7xx I8xx I610:第一个数为6/7/8时表示为定时中断 xx :多长时间执行一次中断(10~99) M8058 = 0 :中断允许 M8058 = 1 :中断禁止

计数器中断用 I010 I020 I030 I040 I050 I060 M8059= 0 :中断允许 M8059= 1 :中断禁止

二、 PLC的工作方式 PLC采用循环扫描的工作方式,整个工作过程可分为输入处理、程序处理、输出处理

三、 27条基本指令 1 LD 、LDI 、 OUT LD取指令--常开触点 LDI取反指令--常闭触点 OUT线圈驱动指令———Y、M、S、T|、C SP空格键

程序步号指令目标原件

2 接点串联指令AND、ANI AND--与,用于单个常开接点串联 ANI—与非,用于单个常闭接点串联 3 接点并联指令OR、ORI OR--或 ORI--或非

4取脉冲指令LDP、LDF、ANDP、ORP、ORF LDP、ANDP、ORP进行上升沿检测 LDF、ANDF、ORF进行下降沿检测

5 串联电路块的并联指令 ORB 串联电路块:两个或两个以上的接点串联电路成为串联电路块 当串联电路块和其他电路并联时,分支开始用LD、LDI,分支结束用ORB

6并联电路块的串联指令ANB 并联电路块:两个或两个以上接点并联的电路称为并联电路块

7多重输出指令MPS、MRD、MPP MPS进栈指令 MRD读栈指令 MPP出栈指令 MPS、MPP成对使用

8主控及主控复位指令MC、MCR MCR主控复位指令,用于公共串联触点的清除 MC主控指令,用于公共串联触电的连接 配对使用 MC操作数有两个--主控号--辅助继电器

MCR--主控号

9取反指令INV 不带操作数的独立指令 10置位与复位指令SET、RST SET 使动作保持 RST 使动作复位 11微分输出指令PLS、PLF PLS--上升沿微分输出指令 PLF--下降沿微分输出指令

12NOP、END指令 NOP空操作指令(指令删除) END程序结束指令

梯形图编程规则 1水平不垂直 2多上穿右

3线圈右边无接点 4不能有双线圈输出

M8013---1钟的时钟脉冲,使灯闪烁

四、步进指令

1状态转移图 FSC

状态的含义:在顺序控制中,我们把每一个工序叫做一个状态,

当一道工序完成做下一道工序时,可以表达为,从一个状态转移到另一个状态

状态器--负载--转移条件

特点:当转移条件满足时,则会从上一个状态转移到下一个状态,而上一个状态自动复位

2步进指令有两条:STL和RET STL是步进开始指令,后面的操作数只能是状态器 S ;在梯形图中直接与母线相连,表示每一步的开始

RET步进结束指令,后面没有操作数,是指令状态流程结束,用于返回主程序(母线)的指令 程序的分支

1可选择性的分支 在应用步进指令进行编程时,通常会出现多种情况可供选择,这就构成可选择的分支 特点:在程序执行时,多个分支只进行其中的一个分支 2并行分支 特点:有多个分支,每个分支都要执行,当所有的分支都执行完毕后,才能执行汇合程序 步进指令的应用 1根据控制要求分配I/O地址,并画出状态流程图 2把状体流程图装换成梯形图 3对梯形图进行运行和调试

初始状态器:由外部条件或由其他转态器来驱动 起始条件、原点条件 手动/自动选择

五、功能指令

1.功能指令的表示形似 指令名称助记符指令代码操作数(S、D、N)程序步

2.指令的执行形式 脉冲执行型(MOVP) 连续执行型(MOV)

3.位软元件、组合位元件和字元件

只处理ON/OFF状态的元件,称为位元件,如X、Y、M、S 其他处理数字的元件称为字软元件,如T、C、D、 V、Z 位元件由Kn加首元件号的组合,可以处理数字数据,组成字

元件,称为组合位元件或位元件组合 K1

组合位元件的组合规律是以4位为一组组合成单元。

K1~K4为16位运算 K5~K8为32位运算

4.程序流向控制指令 其用来改变程序执行顺序,包括程序的条件跳转、中断、调用子程序、循环。 1)条件跳转指令 CJ ----[ CJ P10 ] 1当CJ指令的驱动输入为ON时,程序跳转到CJ指定的指针P同一编号的标号处, 当为OF时,则跳转不起作用,程序按从上到下,从左到右的顺序执行 2跳转条件满足时,被跳转CJ命令到标号之间的程序不予执行, 在跳转过程中如果Y、M、S被OUT、SET、RST指令驱动使输入发生变化,则仍保持跳转前的状态 3对于T、C,如果跳转时定时器或计数器正发生动作,则此时立即中断计数器或停止计时, 直到跳转结束后继续进行计数或计时 但正在动作的定时器T192~T199与高速计数器C235~C255,不管有无跳转仍旧继续工作 4功能指令在跳转时不执行,但PLSY、PLSR、PWM指令除外

2)子程序调用CALL ----[ CALL P11 ]

与返回指令 SRET 子程序返回(结束) 主程序结束 FEND 最多可以嵌套5级 3)中断指令 中断返回指令 IRET 允许中断指令 EI 禁止中断指令 DI 中断指针 I-(输入号0~3,每个输入号只能用一次,对应输入为 X0~X3)-0(常置0)-(1为上升沿中断,0为下降沿中断) 定时中断 I-(中断号6、 7、8,6的级别最高)-(10~99定时中断时间)

4)主程序结束指令 FEND 5)警戒时钟指令 WDT(刷新警戒时钟,以便程序能继续运行,一个程序的执行200ms,超过后需刷新,如240ms的程序,可120ms;WDT;120ms) //或修改M8000内部程序M8000--||--[MOV][K300][D8000],就可以延长到300个ms

6)循环开始和循环结束指令 循环开始指令FOR 循环结束指令NEXT

每执行一次,D0加1,共执行4 × 5 × 5 = 100次

5传送和比较指令

传送比较指令包括数据比较、传送、交换和变换,共十条

1)比较指令 CMP[S1][S2][D]

C10和K100比较,比较的结果放在M10,M11、M12

2)区间比较指令 ZCP 四个操作数

3)传送指令 MOV

4)移位传送指令 SMOV

D1.K4.K2 :把D1从第四位开始拆,拆成两个(第四(千位)第三位(百位)),放到D2的第三(百位)第二位(十位)去

5)取反指令 CML

(灯闪烁)

6) 块传送指令 BMOV [ BMOV D5 D10 K3]:D5、D6、D7传送到D10 D11 D12

7)多点传送指令 FMOV [ FMOV K0 D0 K10]:将K0这个数据传送到以D0 为首的10个寄存器当中 8)数据交换指令 XCHP:交换两个数

D10的高八位低八位互换

9)变换指令 BCD:二进制码转换成BCD码

把D0的二进制码转换成BCD 码,存放在D5中

10)变换指令BIN:BCD码转换成二进制码

把K4X0的成BCD码转换二进制码,存放在D10中

RAMP谐波

[RAMP D1 D2 D3 k1000]:产生一个数据D3他的变化范围是D1,D2,

k1000:1000个扫描周期(10ms ×1000)

六、算数及逻辑运算指令

这部分的指令主要包括四则运算和逻辑运算‘共十条 1)、二进制加法指令 ADD[ADD D10 D12 D14]:D10、D12相加存放在D14 [DADD D10 D12 D14]32位加法运算指令(D11 D10)+(D13 D12)=(D15 D14) [ADDP D10 K1 D10]:D10加1,需使用脉冲执行 2)、二进制减法运算指令 SUB 3)、二进制乘法运算指令 MUL [MUL D0 D2 D4]: D0、D2相乘结果存放在D4 D5当中(结果可能是32为) DMUL 结果连占4个寄存器

4)、二进制除法指令 [DIV D0 D2 D4]: D0、D2相除商存放在D4余数 D5当中 DDIV

5)、二进制加1 指令 INC

[INCP D10](建议采用脉冲执行) D10加1放在D10中 6)、二进制减1指令 DEC

7)、逻辑与指令 WAND(按位与) [WAND D10 D12 D14]

8)、逻辑或指令WOR(按位或)

9)、逻辑异或指令 WXOR(按位异或)

10)、求补指令 NEG(取反加1) [NEGP D10]

七、循环和移位指令

这部分指令共有十条

M8012 是0.1秒的时钟脉冲

1)循环右移指令 ROR

[RORP D0 K4]:把D0里面的数据向右移动四位

2)循环左移指令 ROL

3)带进位循环右移指令RCR [RCRP D0 K4] M8022原来是1 ,把进位标记M8022一起移动

4)带进位循环右移指令RCL

[RCLP D0 K4] M8022原来是1 ,把进位标记M8022一起移动

5)位右移指令 SFTR [ SFTRP X000 M0 K16 K4] 以M0为首的16个元件往右边移动4位,X0 X1 X2 X3依次替换M12~M15的位置 6)位左移指令SFTL

7)字右移指令 WSFR

[ WSFRP D0 D10 K16 K4]

D0 K4:表示D0到D3四个源操作数 D10 K16:表示D10~D25 十六个目标操作数 D10 K16向右移动四位,D0 K4填补

8)字左移指令 WSFL [ WSFRP D0 D10 K16 K4] 9)先入先出写入指令 SFWR [ SFWRP D0 D1 K10]: D1、K10 表示D1到D10十个寄存器,把D0里面的数依次存到D2到D10里面指针D1自动加1,当D1= 9时,进位寄存器M8022接通

10)先入先出读出指令 SFRD [SFRDP D1 D20 K10]:D1到D10十个寄存器、D2到D10里面的数据依次读到D20,指针D1自动减1

八、数据处理指令

这部分指令共十条

1)区间复位指令 ZRST

[ ZRST M500 M599]:M500 到M599置零

2)解码指令 DECO

[ DECO X0 M10 K3]:X0到X2有八种二进制状态转换为十进制后对应M置1(位原件)

3)[ DECO D0 D1 K3]:D0低三位有效,组合成二进制再装换为十进制,对应D1位置1(字元件)

4)编码指令 ENCO

[ENCO M10 D10 K3]:K3三位码八个状态,M10为首的八个元件第几个接通,转换成相应的二进制存在D10的低三位(位元件)

[ENCO D0 D1 K3]:D0多位置1,则最高位有效,转二进制码存D1中

4)求置ON位的总和指令 SUM

[SUM D0 D2 ]:D0中有多少个1,计数结果保存在D2中

5)置ON位判别指令 BON rw[BON D10 M0 K15]:判断D10中的第15位是否等于1,等于1时M0接通(判断正负、奇偶) 6)平均值指令 MEAN

[MEAN DO D10 K3]:D0 D1 D2的平均值存放在D10(K最多64) 7)报警器置位指令 ANS [ANS T0 K10 S900]:当报警条件,K10为1秒钟,T0计时1秒钟后S900接通,再用S900驱动报警指示登(源操作数只能是定时器,目标操作数只能是状态器) 8)报警器复位指令 ANR [ANRP ]

M8049、M8048

9)二进制平方根指令 SQR [SQR D10 D12]:把D10进行开方,结果存放在D12中 借位标志M8021 0标记M8020 错误标记M8067

10)浮点数转换指令FLT [FLT D10 D12]:把D10转换为浮点数,存在D12 D13 中

九、高速处理指令

这部分的指令共有十条,他们的特点是输入输出信号可以用中断的方式进行处理

1)输入输出刷新指令 REF [REF X0 K8]:X0到X7进行刷新 [REF Y000 K24]:Y0到Y7、Y10到Y17、 Y20到Y27进行刷新 2)输入滤波时间调整指令 REFF (调整X0 到X7的滤波时间) [REFF K1]:把X0到X7八个输入点滤波时间变为1毫秒(默认10秒) 3)矩阵输入指令 MTR [MTR X20 Y20 M30 K3]:X20~X27(10的整数,8个位元件),K3接成3行(最大为8,最小为2)8列,对应行输出Y20~Y22,M30~M37、M40~M47、M50~M57相应的开关状态存储

4)高速计数器置位指令 HSCS [DHSCS K100 C255 Y10]:高速计数器C255计数到100时,Y10接通。Y10采用中断输出的,和扫描周期无关

5)高速计数器复位指令 HSCR [DHSCR K150 C255 Y10]

6)高速计数器区间比较指令 HSZ [DHSZ K1000 K2000 C251 Y0]:计数小于1000,Y0置ON,1000到2000,Y1置ON,大于2000,Y20置ON、(高速计数器:C235~C255)

7)速度检测指令 SPD(检测编码器脉冲个数,计算电机转速) [SPD X0 K100 D0] :X0接收脉冲,K100表示100毫秒,D0存放接收脉冲(X0到X5可接收高速脉冲输入)

[D]:单位时间计到的脉冲个数 n:编码器转一周所产生的脉冲数 [S2]:时间 D / n = 电机转的圈数

8)脉冲输出指令:PLSY [PLSY K1000 D0 Y0]:K1000脉冲的频率是1000,D0脉冲个数,Y0脉冲输出点 (脉冲产生完了M8029自动置1,执行过程中改变频率马上响应,改变个数要断开后再次接通) 9)脉宽调制指令PWM (仅适合晶体管输出PLC)

[PWM D10 K50 Y0] D10产生脉冲宽度,K50产生脉冲周期,Y0脉冲输出点(只能是Y0、Y1)

10)可调速脉冲输出 PLSR [PLSR K500 D0 K3600 Y0] K500最高频率(输出频率从0变到K500或相反。0~2000Hz) D0总输出脉冲数 K3600加减速时间 Y0脉冲输出点(脉冲输出总数:大于110个)(只能是Y0或Y1)

S1 最高频率 S2 脉冲个数 S3 加减速时间

[D8141, D8140]存放Y0的脉冲总数;[D8143,D8142]存放Y1的脉冲总数; [D8137,D8136]存放Y0和Y1的的脉冲数之和

十、方便指令共十条

1)状态初始化指令 IST

[IST X20 S20 S40]:主要应用于步进指令控制当中 X20用8个连号元件 X20到 X27 S20 S40 指在自动操作中实际用到的最小状态号和最大状态号 本指令只能用一次,且放在STL之前编程 M8040 禁止转移 M8041 转移开始 M8042 启动脉冲 M8047 STL监控有效

2)查找数据指令 SER [SER D100 D0 D10 K10]:D100 K10指D100到D109,查找的目标(要找的值)存放在D0当中,查找的结果(符合的个数、位置,最小值位置,最大值位置)存放在D10~D14中

3)绝对值式凸轮顺控指令 ABSD [ABSD D300 C0 M0 K4]:K4四对触点(接通、断开触点)M0到M3,(接通、断开触点)存放在以D300为首的寄存器当中D300到D307,C转动的角度

4)增量式凸轮顺控指令 INCD [INCD D300 C0 M0 K4]:K4四对触点M0到M3,D300到303控制M0~M3接通的数据增量

5)谐波信号输出指令RAMP

[RAMP D1 D2 D3 K1000]:D1 、D2已知 D3变化、K1000扫描周期 [RAMP D1 D2 D3 k1000]:产生一个数据D3他的变化范围是D1,D2,

k1000:1000个扫描周期(10ms ×1000)

M8026 ON保持()、OF重复的命令

6)将扫描周期时间写入D8039数据寄存器,该扫描周期时间稍大于实际值,再令M8039

置1,则PLC进入恒扫描周期的运行方式 [MOV K20 D8039] [SET M8039]

7)旋转工作台指令 ROTC [ROTC D200 K10 K2 M0]:

K10:工作台每转的脉冲数 2~32767

K2:低速旋转区(减速区间)0~32767,工作台在停止之前低速运动的行程(两个脉

冲)

D200 作为计数寄存器使用,需预先进行清除操作后才开始工作 D201设定要工作机械手的位置号 D202设定待加工工件的位置信号

M0:连续占用8个位元件 M0--检测开关输出A相信号 M1--检测开关输出B相信号 M2--0点检测信号 M3高速正转 M4低速正转 M5停止 M6低反转 M7高速反转 8)特殊定时器指令 STMR [STMR T10 K100 M0]:T10定时器序号(T0~T199), K100延时时间10秒钟,M0四个连号的位元件

9)示教定时器指令 TTMR [TTMR D300 K0]:ON时D300、D301增加,OFF时,D301复位,D300保持,K0:D300以秒为单位增加,K1 10秒,K2 100秒,接通时间越长,D300的值越大

10)列表数据排列指令 SORT [SORT D100 K5 K4 D200 D0] : D100 K5 K4--以D100为首的5行4列的列表(20个寄存器)进行排列,结果放在D200 到D219的20个寄存器中,D0表示以哪一列为参考

十一、外部I/O设备指令 共十条,主要完成PLC通过一些简单的外部设备进行数据输入和数据显示 1)十键输入指令 TKY [TKY X000 D0 M10]:X0到X10十个按键,输入的数据存放在D0当中,用上M10到M20(十一个连号的辅助),16位操作,D0可存放0到9999,32位操作可存放8个9

M10~M19按键只能接通其中一个 M20 每一个按键按下去都会接通一下

2)十六键输入指令HKY [HKY X0 Y0 D0 M0]:操控16个按键输入Y0,结果存放在D0当中;输入0到9,功能键A到F控制位元件M0到M5(十个数据键,六个功能键)

3)数据开关指令 DSW [DSW X10 Y10 D0 K1]:数据开关接到以X10为首的四个输入点上,并接到Y10为首的四个点上,输入的数据存储在D0,K1表示只输入1组(0到9999

BIN只接X输入端,占的点数较多,DSW较少,功能一样,接线不一样

4)七段译码指令 SEGD

[SEGD D0 K2Y0]:把D0译成数码管可显示的代码,从K2Y0中输出

5)带锁存的七段显示指令 SEGL

[SEGL D0 Y0 K0]:D0需要显示的数据, Y0输出点 K0:1组四位数码管,与数据输入信号和选通信号的逻辑有关有关 6)方向开关指令 ARWS [ARWS X10 D0 Y0 K0]:把D0的内容通过数码管显示,数码管接在Y0为首的输出点上,K0:1组四位数码管,与数据输入信号和选通信号有关 通过X10修改D0里面的数据

7模拟量输入指令 VRRD

[VRRD K0 D0]:用来读取模拟量的数据,存在D0中;K0 模拟器0号电位器 0到255

8 模拟量开关设定指令 VRSC [VRSC K1 D1] 0到10

9 PID运算指令 PID [PID D0 D1 D100 D150]:D0 设定值 D1当前值 D100参数 D150输出值满足表达式=Kp{Q +Kd*Td*……}

[SEGL D0 Y0 K0]:D0需要显示的数据, Y0输出点 K0:1组四位数码管,与数据输入信号和选通信号的逻辑有关有关 6)方向开关指令 ARWS [ARWS X10 D0 Y0 K0]:把D0的内容通过数码管显示,数码管接在Y0为首的输出点上,K0:1组四位数码管,与数据输入信号和选通信号有关 通过X10修改D0里面的数据

7模拟量输入指令 VRRD

[VRRD K0 D0]:用来读取模拟量的数据,存在D0中;K0 模拟器0号电位器 0到255

8 模拟量开关设定指令 VRSC [VRSC K1 D1] 0到10

9 PID运算指令 PID [PID D0 D1 D100 D150]:D0 设定值 D1当前值 D100参数 D150输出值满足表达式=Kp{Q +Kd*Td*……}

本文来源:https://www.bwwdw.com/article/0isw.html

Top