plc中int数据类型范围_超全的PLC的讲解,⼯作原理数据类型
都在这啦!
PLC的⼯作原理
PLC概念(基本组成、⼯作原理)PLC的数据类型&&寻址⽅式 (这个地⽅要分清楚,PLC的存储空间⼤⼩(位字节字双字BIT BYTE WORD DWORD)、储存器类型(西门⼦DIDQAIAQMsmVLTCHTHC区;三菱XYMDTCRVZ区)、数据类型(INT16 DINT32 REAL STRING WORD16 DWORD32 BOOL TIME DATE CHAR8 BYTE8 ))PLC的储存器类型(S7-200)PLC系统开发流程PLC STEP7中常数的表达⽅式(K10,H16,O8,BCD)三菱中的D0是16位的,两个字节。M0是1位。西门⼦1200中的则全是M区,⽤MB/MW /MD来表⽰8位16位32位西门⼦200smart和200中全是V区
01PLC概念
PLC(Programmable Logic Controller),可编程逻辑控制器。⼯业控制⽤的计算机。PLC的基本构成其基本构成有 电源、CPU、储存器、输⼊单元、输出单元、通信接⼝、扩展接⼝。a)电源:PLC供电,可以是220VAC或者24VDC,CPU处理单元所需要的电源为
5VDC。
b)CPU(中央处理单元),包含了控制器、运算器、寄存器。
c)存储器是之具有记忆功能的半导体电路,可以存放系统程序、⽤户程序、逻辑变量。分为ROM(Read Only Memory 系统存储区)和RAM(Random Access Memory)。
i.ROM存储区分为系统管理程序、⽤户程序编辑以及指令解释程序、⼦程序调⽤及管理程序ii.RAM存储区包括⽤户程序存储区和数据存储区,分别⽤来放置⽤户程序和程序执⾏过程中各点的ON/OFF状态量。⽤户存储区的数据可读可写执⾏。采⽤的材质为CMOS RAM或者EPRAM和EEPRAM。容量⼀般以“字”为单位(16个位为1字,8个位为1字节)。所以我认为建议编程的时候使⽤偶数编程
d)输⼊单元是指接收信号的单元,检测信号传来的信息并且将其转化为⾼低电平的数字量信号。(分为开关量和模拟量,模拟量通常采⽤
A/D转换电路,把模拟量转换成数字量。数字量采⽤的接⼝电路⽐较多,分为内部直流输⼊(12V或者24V)、外部交流输⼊(100-120V、200-240V)、外部交直流输⼊、与信号输出相连的输⼊电路。)(交流输⼊、直流输⼊、源型漏型、共阴极共阳极、外界信号输出接PLC输⼊单元(PNP,NPN))
e)输出单元指将CPU处理之后的弱电信号转化为电平信号。(电平信号是指设备输出信号和输⼊信号的功率⽐然后取对数值,通常⽤P表⽰,P=lgP2/P1。)(输出接⼝分为开关量和模拟量。模拟量接⼝通常
通过D/A转换电路,数字量转换成模拟量,数字量输出电路形式⽐较多,有继电器输出、晶体管输出(PNP,NPN)、晶体闸输出。)
f)通信接⼝,和监视器、打印机、其他PLC、计算机等设备实现通讯。
g)扩展接⼝,给PLC增加⼀些专⽤功能模块,⽐如⾼速计数模块、闭环控制模块、运动控制模块、中断控制模块。
PLC的⼯作原理PLC通电→内部处理→通信处理→⾃诊断→输⼊采样→⽤户程序执⾏→输出刷新→PLC采⽤周期循环扫描的⽅式,集中输⼊集中输出。优点是:可靠性⾼、抗⼲扰能⼒强。缺点是:响应速度慢、响应滞后。PLC会采⽤WDT(看门狗)来监视扫描是否超过预定时间。
内部⾃处理:包括硬件初始化、I/O模块配置检查、停电保护范围设定等等。在⾃诊断测试阶段,CPU检测PLC各模块的状态,若出现异常⽴即进⾏诊断和处理,同时给出故障信号,点亮CPU⾯板上的LED指⽰灯。当出现致命错误时,CPU被强制为STOP⽅式,停⽌执⾏程序。CPU的⾃诊断测试将有助于及时发现或提前预报系统的故障,提⾼系统的可靠性。
通信处理阶段:PLC和⾃⾝带有CPU的智能模块以及其他外部设备进⾏通信,完成数据的收发,响应编程器的命令,更新编程器显⽰的内容,更新时钟以及特殊寄存器的内容。在通信处理阶段,CPU检
查有⽆通信任务,如果有则调⽤相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接⼝、编程器、HMI装置等)的通信处理,并对通信数据做相应处理。
(⾃诊断→输⼊采样→⽤户程序执⾏→输出刷新→)为⼀个扫描周期输⼊采样阶段:扫描所有的输⼊端⼦并且将其的状态(0/1)存放到输⼊寄存器(PII)中。然后关闭输⼊通道,进⾏下⼀步程序。这种⽅式可靠性⾼,但是会有⼀定的时间延迟,在⼤型的项⽬中,由于时间的关系,可能会采取定期输⼊取样、直接输⼊取样、中断输⼊取样、智能I/O接⼝模块取样,⽤来提⾼速度。
⽤户程序执⾏阶段:此阶段中,数据从输⼊寄存器(PIQ)和内部元件寄存器(内部继电器、计数器、计时器)中,将有关元件的状态和数据取出,按照程序中的逻辑运算和算术运算,将结果写到输出映像寄存器和相关存储器中。所以,在PLC内部,内部元件寄存器的状态是⼀直在改变的。
输出处理阶段:程序执⾏完成后,把内部元件寄存器中的所有输出继电器状态在输出阶段⼀次型转存到输出锁存器中,经过隔离、驱动功率
放⼤电路输送到输出端,并且外部PLC接线驱动实际负载。
输⼊输出滞后时间:该时间⼜称为系统响应时间,包括输⼊电路滤波时间、输出电路滞后时间、因扫描⼯作⽅式产⽣的滞后时间。PLC的响
应延迟⼀般是⼏毫秒-⼏⼗毫秒,对于⼀般的系统没有影响。如果需要时间短的系统,我们可以采⽤扫描速度快的PLC或者采取中断等措
施。
a)输⼊电路滤波时间。主要是由于外部传⼊的信号可能存在噪⾳⼲扰、尖峰电压、外部抖动会影响我们的输⼊信号。所以使⽤RC滤波电路
(利⽤电压源和电流源驱动电容和电阻组成的电路)和光耦合器(在输⼊侧采⽤光耦来切断内部与外部线路电⽓上的联系)来消除这些影响。滤
波电路的时间常数决定了滤波时间的长短。
b)输出模块电路滞后时间:与类型有关,继电器输出模块的之后时间⼀般为10ms,双向晶闸管的滞后时间为1ms-10ms,晶体管的滞后
时间为1ms以下。
c)由扫描⼯作⽅式引起的滞后时间:最长可以达到2-3个扫描周期
02PLC的数据类型
decimal是整数数据类型
⼆进制(BIN: BINARY NUMBER)
硬件内部的数据处理是按照⼆进制进⾏的
负数的处理,也是以⼆进制的补码来实现的⽤途:内部处理⼋进制(OCT:OCTAL NUMBER)在三菱FX系列中,输⼊继电器、输出继电器的
软元件编号都是X0~X7 Y010~Y017
⽤途:输出⼊继电器软元件编号
BCD码(BCD: BINARY CODE DECIMAL)BCD码就是将10进制的数字,⽤⼆进制的形式表⽰出来,⽐⽅说10的BCD码就是 0001 0000
⽤途:BCD数字开关,7段码显⽰器
实数(浮点数数据)在三菱FX系列中,采⽤⼆进制进⾏实数运算,采⽤10进制进⾏实数监控
字符串常数最多32位
字符长度位8位,所以 D100(16位)可以代表两个字符字符串的数据,从指定的位置开始(D100或者M10
0开始都可以),当碰到OOH代码
(也就是NULL代码,需要16位)的时候,表⽰字符串结束,如果没有碰到OOH或者只碰到⼀般,是不会检测到字符串结束的。
三菱FX系列中位的位数的指定(KnX0 ………)位软元件的处理像X Y S M 这些处理ON/OFF信息的软元件是位软元件像T C D R 这些处理数值信息的软元件是字软元件但是,我们的位软元件经过组合也可以当做字来使⽤。以位数Kn和起始软元件的编号的位数为4位单
元,K1K4表⽰16位;K1k8表⽰32位连续字的指定⼦软元件的位指定(D100.E)
(位(BOOL)→字节(BYTE)→字(WORD)/整数(INT)→双字(DWORD)/双整数(DINT)/浮点数(REAL))ASCII/字符串(STRING)1个ttl电平信
号为1位;8个位为⼀个字节;2个字节为1个字;2个字为1个双字。位也就是BOOL,布尔型,范围为 0 / 1字节的范围为 0—255;0-
FF;相邻的8个为(0-7)(IB1=I1.0~I1.7)字的范围为 0—65535;0000-FFFF;相邻的两个字节(IW2=IB2+IB3)双字的范围为 0—2的32次⽅;00000000-FFFFFFFF;相邻的两个字(ID4=IW4+IW6=IB4+IB5+IB6+IB7)
寻址⽅式有按位寻址、按字节寻址、按字寻址、按双字寻址按位寻址:I0.0 I0.1 I0.2 I1.5 I2.7 I2.8(错误)按字节寻址:VB0 VB1 VB2
VB3… (间隔为1)按字寻址:VW0 VW2 VW4 VW6 VW32…(间隔为2)按双字寻址:VD0 VD4 VD8 VD32….(间隔为4)
西门⼦的数据存储类型是⾼字低位。怎么理
解?MD100MW100MW102MB100MB101MB102MB103M100.7/6/5/4/3/2/1/0M101.7/6/5/4/3/2/1/0M102.7/6/5/4/3/2/1/ M103.7/6/5/4/3/2/1/0其中,M103.0就是⾼字节的低位;M100.7就是低字节的⾼位
三菱的数据存储类型是⾼字⾼位。怎么理解?(存储从右往左依次增⼤)D100D101D100D101.
F/E/D/C/B/A/9/8/7/6/5/4/3/2/1/0D100.F/E/D/C/B/A/9/8/7/6/5/4/3/2/1/0其中,D101.F就是⾼字节的⾼位;D100.0就
是低字节的低位
1⽴即寻址
2直接寻址
a)绝对地址
b)符号地址
3间接寻址
a)存储器间接寻址
i.16位指针(DB、T、C)
ii.32位指针(存储器间接寻址)
b)寄存器间接寻址
i.32位指针存储区内部寻址
ii.32位指针存储器交叉寻址
03PLC的储存器类型
V存储器(变量存储器),⼀般⽤来存放逻辑的中间结果,很常见。M存储器(标志存储器),⼀般⽤来标志。不常⽤。MB0-MB13 这14个字节存储在EEPROM中永久保存,断电永久保持。sm存储器(系统存储器):在F1帮助中可以查看,或WIN中符号表中有S7-200指令sm0.0 :该位总是打开sm0.1:⾸次扫描的时候打开,⽤于初始化程序。sm0.5:时钟脉冲,0.5s闭合,0.5s打开。L存储区(局部存储区):V存储区为全局有效,⽽L存储区只是在局部有效。局部存储区需要CPU进⾏动态分配,当中断程序或者调⽤⼀个⼦程序的时候,CPU会分配局部存储器给中断程序或者⼦程序。另外,局部存储区在分配的时候需要进⾏初始化,因为给的数据是随机的。AC寄存器(累加寄存器):可以向⼦程序传递参数,储存计算的中间结果。S7-200中提供了4个32位累加器(AC0 AC1 AC2 AC3)。
话外:S7-300中的寄存器有:ACCUx累加寄存器 、 AR1/AR2地址寄存器、 数据块寄存器、状态字S7-300中的存储区有:I/Q 输⼊输出过程映象区、M(位存储区)、T定时器、C计时器、PQ/PI ⽴即访问输出输⼊模块、 DB共享数据块、 DI 背景数据块、 L局部数据
04PLC系统开发流程
1.明确系统的控制要求系统要求3个按钮控制正反转和停转,并且要求对电动机进⾏过载保护,另外正反转 ⾃锁和互锁
2.确定输⼊输出设备,并且为其分配相应的I/O端⼦
3.绘制系统控制线路图主电路、控制电路
4.编写PLC控制程序正转控制、反转控制、停转控制、过载保护
5.程序调试
6.安装系统控制线路,并且进⾏现场调试程序调试好之后,现场调试。(硬件问题&&软件问题)
7.系统投⼊运⾏试⽤⼀段时间
8.STEP7中常数的表达⽅式STEP7中常数值可以是字节、字、双字,CPU是使⽤⼆进制⽅式储存常数的。在STEP7中,常数也可以使⽤⼗进制、⼗六进制、ASCII码、浮点数等格式进⾏表⽰。B#W16、W#16#、DW#16# 表⽰ 16进制字节常数、16进制字常数、 16进制双字常数2#表⽰⼆进制常数L#表⽰32位双整数常数P#表⽰地址指针常数S5T#表⽰16位S5时间常数T#表⽰带符号的32位IEC时间常数DATE是ITC的时间常数C#表⽰16位计数器常数(BCD码)ASCII字符使⽤单引号’’表⽰,每个ASCII码占⽤⼀个字节输⼊常数的时候⼀定要使⽤英语的标点符号