首发!西门子PLC入门级编程新案例,老工程师详细编写程序图
原创不易,请勿抄袭,转载注明来源!
此方案是利用Siemens的PLC(CPU-224)和变频器MICROMASTER(MM)来实现各种功能。
主要是利用MICROMASTER(MM)自身PI及通讯功能,由PLC来集中控制,通过PLC的通讯口与MICROMASTER(MM)连接,读取变频器的各种信息,从而实现此套设备的各种功能,包括加减泵、起停泵等。
编程程序的具体说明:
PLC与MICROMASTER(MM)是采用USS五字协议进行通讯,具体内存分配如下:
具体说明见附录
变量参数
VW0-------P041(第一恒压值)
VW2-------P042(第二恒压值)
VW4-------P043(第三恒压值)
VW6-------P044(起停压力下限)
VW8-------P046(起停压力上限)
VW10------P047(PID上下限偏差)
VW12------第一恒压上限
VW14------第一恒压下限
VW16------第二恒压上限
VW18------第二恒压下限
VW20------第三恒压上限
VW22------第三恒压下限
VW30------第四恒压上限
VW32------第四恒压下限
VW34------第五恒压上限
VW36------第五恒压下限
VW40------PID上限值
VW42------PID下限值
VW44------实时压力值
VW46------实时频率值
VD50------运算地址
VW150--VW199----循环计数及标志位
VD150-----------地址指针
VD160--VD168----地址指针
VD160-----计算频率值地址指针
VD164-----接收缓冲区地址指针
VW170-----发送重试次数==3
VW172-----通讯故障可重试次数==5
VW174-----变频器故障可重新启动次数==3
VW176-----初始化计数器
VW180-----响应信息中接收字符数=初值为14
VW190-----接收信息BCC累加器
VB192-----最后一次通讯试操作的状态
VB500-----PORT0通讯标志字节
程序结构
MAIN------主程序
SBR0------PORT0及变量初始化子程序
SBR1------读变频器初值子程序
SBR2------读实时频率及实时压力子程序
SBR3------启动变频器子程序
SBR4------停变频器子程序
SBR5------运算BCC码子程序
SBR6------发送子程序
SBR8------读时时频率及实时压力发送子程序
SBR10-----计算PID上下限子程序
INT0------PORT0发送结束中断程序
INT1------PORT0发送超时中断程序
INT2------PORT0读实时频率及实时压力发送结束中断程序
INT3------PORT0读实时频率及实时压力发送超时中断程序
INT4------PORT0接收字符中断程序
INT5------PORT0接收超时中断程序
INT6------PORT0读实时频率及实时压力接收字符中断程序
INT7------PORT0读实时频率及实时压力接收超时中断程序
以上,欢迎分享及收藏!
如需更多其他学习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区01、PLC概念
PLC(Programmable Logic Controller),可编程逻辑控制器。工业控制用的计算机。
PLC的基本构成
其基本构成有电源、CPU、储存器、输入单元、输出单元、通信接口、扩展接口。
(1)电源:PLC供电,可以是220VAC或者24VDC,CPU处理单元所需要的电源为5VDC。
(2)CPU(中央处理单元),包含了控制器、运算器、寄存器。
(3)存储器是之具有记忆功能的半导体电路,可以存放系统程序、用户程序、逻辑变量。分为ROM(Read Only Memory 系统存储区)和RAM(Random Access Memory)。
i.ROM存储区分为系统管理程序、用户程序编辑以及指令解释程序、子程序调用及管理程序
ii.RAM存储区包括用户程序存储区和数据存储区,分别用来放置用户程序和程序执行过程中各点的ON/OFF状态量。用户存储区的数据可读可写执行。采用的材质为CMOS RAM或者EPRAM和EEPRAM。容量一般以“字”为单位(16个位为1字,8个位为1字节)。所以我认为建议编程的时候使用偶数编程。
(4)¥输入单元是指接收信号的单元,检测信号传来的信息并且将其转化为高低电平的数字量信号。(分为开关量和模拟量,模拟量通常采用A/D转换电路,把模拟量转换成数字量。数字量采用的接口电路比较多,分为内部直流输入(12V或者24V)、外部交流输入(100-120V、200-240V)、外部交直流输入、与信号输出相连的输入电路。)(交流输入、直流输入、源型漏型、共阴极共阳极、外界信号输出接PLC输入单元(PNP,NPN))
(5)输出单元指将CPU处理之后的弱电信号转化为电平信号。(电平信号是指设备输出信号和输入信号的功率比然后取对数值,通常用P表示,P=lgP2/P1。)(输出接口分为开关量和模拟量。模拟量接口通常通过D/A转换电路,数字量转换成模拟量,数字量输出电路形式比较多,有继电器输出、晶体管输出(PNP,NPN)、晶体闸输出。)
(6)通信接口,和监视器、打印机、其他PLC、计算机等设备实现通讯。
(7)扩展接口,给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或者采取中断等措施。
(1)输入电路滤波时间。主要是由于外部传入的信号可能存在噪音干扰、尖峰电压、外部抖动会影响我们的输入信号。所以使用RC滤波电路(利用电压源和电流源驱动电容和电阻组成的电路)和光耦合器(在输入侧采用光耦来切断内部与外部线路电气上的联系)来消除这些影响。滤波电路的时间常数决定了滤波时间的长短。
(2)输出模块电路滞后时间:与类型有关,继电器输出模块的滞后时间一般为10ms,双向晶闸管的滞后时间为1ms-10ms,晶体管的滞后时间为1ms以下。
(3)由扫描工作方式引起的滞后时间:最长可以达到2-3个扫描周期。
02 PLC的数据类型
03 二进制(BIN: BINARY NUMBER)
硬件内部的数据处理是按照二进制进行的
负数的处理,也是以二进制的补码来实现的
用途:内部处理
04 八进制(OCT:OCTAL NUMBER)
在三菱FX系列中,输入继电器、输出继电器的软元件编号都是X0~X7 Y010~Y017
用途:输出入继电器软元件编号
05 BCD码(BCD: BINARY CODE DECIMAL)
BCD码就是将10进制的数字,用二进制的形式表示出来,比方说10的BCD码就是 0001 0000
用途:BCD数字开关,7段码显示器
06 实数(浮点数数据)
在三菱FX系列中,采用二进制进行实数运算,采用10进制进行实数监控
字符串常数最多32位
字符长度位8位,所以 D100(16位)可以代表两个字符
字符串的数据,从指定的位置开始(D100或者M100开始都可以),当碰到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)
西门子的数据存储类型是高字低位,怎么理解?
MD100
MW100MW102
MB100MB101MB102MB103
M100.7/6/5/4/3/2/1/0M101.7/6/5/4/3/2/1/0M102.7/6/5/4/3/2/1/0 M103.7/6/5/4/3/2/1/0
其中,M103.0就是高字节的低位;M100.7就是低字节的高位
三菱的数据存储类型是高字高位,怎么理解?(存储从右往左依次增大)
D100
D101D100
D101. 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就是低字节的低位
①立即寻址
②直接寻址
a)绝对地址
b)符号地址
③间接寻址
a)存储器间接寻址
i.16位指针(DB、T、C)
ii.32位指针(存储器间接寻址)
b)寄存器间接寻址
i.32位指针存储区内部寻址
ii.32位指针存储器交叉寻址
07 PLC的储存器类型(S7-200)
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局部数据
08、PLC系统开发流程(距离实现电动机正反转)
(1)明确系统的控制要求
系统要求3个按钮控制正反转和停转,并且要求对电动机进行过载保护,另外正反转 自锁和互锁
(2)确定输入输出设备,并且为其分配相应的I/O端子
(3)绘制系统控制线路图
主电路、控制电路
(4)编写PLC控制程序
正转控制、反转控制、停转控制、过载保护
(5)程序调试
(6)安装系统控制线路,并且进行现场调试
程序调试好之后,现场调试。(硬件问题&&软件问题)
(7)系统投入运行
试用一段时间
09 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码占用一个字节
输入常数的时候一定要使用英语的标点符号。
(内容来源网络,版权归原作者)
转发是最大的鼓励!谢谢您的支持!
小贴士
PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
相关问答
用mpi/pi怎么链接plc和电脑?
现在PC上建立OPCserver,可以下载西门子公司SIMATICNETOPCserver,这时候可以用ETHERNET、PROFIBUS、MPI都可以和西门子PLC建立通讯关系。通讯成功...
PLC以什么为核心融合自动控制?
以及过程输入/输出(PI/O),包括信号变换与信号调理,A/D、D/A转换。控...DCS系统中,控制站作为一个完整的计算机,它的主要I/O设备为现场的输入、输出处理设备,...
6个按钮控制3个电机正反转?
双极性开关来控制每个电机的正反转。每个开关有3个位置:正转、停止和反转。这种方法需要6个开关。使用一个3位开关来控制每个电机的正反转。这种方法需...每...
求助怎么把PLC中的数据导入电脑的Excel表格中-ZOL问答
可以这样做,PLC和上位机自由口通讯,PLC通过COM口把需要保存的数据发给PC,PC再把数据保存为EXCEL格式的文件到硬盘。有用(0)回复jiangningpi20PLC要支持导出...
mpi计算公式?
酒店收益管理通常有三个衡量指标:(MPI、ARI、RGI)其中,MPI(MarketPenetrationIndex)是指市场渗透指数,计算公式:为酒店入住率/竞争对手酒店平均入住率...MP....
关于一个串级控制的问题请求解答!-盖德问答-化工人互助问答社区
就几个点用普通表吧。造价可能要低点首先单片机是无法实现的,它需要pid的机器语言编程,这很难实现。还有就是单片机的处理速度与响应时间也无法达...
PLC是什么?
[最佳回答]深圳市星科研自动化培训属下的培训部开设课程广,课程体系完善,教学设备齐全。本星科研自动化培训以诚信为本,理论加实操,让您在尽可能短的时间内学...
诸位大神!帮个忙呗茂名定做PLC过程控制系统,PLC过程控制系...
[回答]1.PLC电镀行车控制系统设计2.机械手模型的PLC控制系统设计3.PLC在自动售货机控制系统中的应用4.基于PLC控制的纸皮压缩机5.基于松下系列PLC恒...
PID怎么控制温度我们要设计一个恒温控制的装置,但是对PID的...
[回答]没有一种控制算法比PID调节规律更有效、更方便的了.现在一些时髦点的调节器基本源自PID.甚至可以这样说:PID调节器是其它控制调节算法的妈.为什么PI...
麻烦诸位前辈,有没有谁给我推荐一下:顺德服务好的PLC编程系...
[回答]随着自动化技术的发展,起初的PLC控制器已经不能满足一些大工程的要求,在这种情况下DCS控制。相信大家对此应该都有所了解了。下面我就对DCS谈谈自己...