三菱PLC编程案例
本PLC可使用三菱的FXGP_WIN编程软件,可兼容其大部分功能和指令,但有一部分增强型功能在三菱FX2N主机上是不具备的,需要外接扩展模块后才能使用。以下就本机的特殊功能做一个说明(本机的增强功能直接做在板上不要扩展模块就可使用):
1、读写FLASH:FLASH的地址为0~1000
例:读FLASH:当D2=2时,将起始地址D19对应的FLASH 位置为234连续8个数据读入
D20~D27然后,再对D20~D27进行处理。每次上电将FLASH中的参数读出来。
例:写FLASH:当D2=1时,将D20~D27保存在起始地址D19对应的FLASH 位置为234连续
8个FLASH数据中。当按下X001时保存参数用。注意:写FLASH只有10万次的寿命。
新增功能:掉电瞬间保存数据:M6=1设定H0为掉电检测中断,M4=1,H0接GND,5V与GND
间接4000UF电容,在掉电瞬间,进入中断,将D20 D21 D22 D23四个数据写入D19位起始的
FLASH中。
特别注意:M4=1,M6=1 时,H0 不能接编码器作高速计数H0 使用。2、PID应用:
这是一个大滞后的PID处理:PWM控制电加热,测量控制水蒸气的温度,M400表示实际值与目标值的差在正负3以内,M400没来,KP、 KI、 KD 分别为2000、2、 500,一旦M400来了,就进入保温程序,仅进行小调节,KP、 KI、 KD 分别为2000、0、 500,同时将增量值(D88)调整。D92输出PWM波。上图的D73是显示值,D70是设定值,D95是瞬时值。当然,若不是大滞后,一般情况下,调节KP、 KI、 KD 分别为2000、500、 0即可。
3、DA输出由D7、D8写入即可;AD输入对应D3 D4 D5 D6;输入0~5V时,直接接入AD端口即可,输入的是微伏信号,可以差分放大:在AD和AD-上接入一电阻R,其放大倍数为100K/R,比如:接入电阻R=100欧,放大倍数=1000倍。
4、两线串行数码管驱动接口(5V、SDK、SI、0V)数码管显示例程:
D9(1、2 二个数码管); D10(3、4 二个数码管) ;D11(5、6 二个数码管); D12(7、8 二个数码管) ;
D14(9、10 二个数码管);D15(11、12 二个数码管);D16(13、14 二个数码管); D17(15、16 二个数码管) ;M9 、M10、 M11、 M12 、 M14、 M15、 M16 、M17控制对应的数码管亮或灭。
例如:在第三个数码管(D11)上显示16位数据的最后二位。将16位数据除以100的余数(D203)
存入D11显示(其余各位也同样处理),不需要显示的数码管可通过M9~M12来关闭。
注:数码管是两位十进制的(00~99),所以寄存器等16位的参数要分别按二位一组拆开放在显示缓冲寄存器里(D9、D10、D11、D12=第一组, D14、D15、D16、D17=第二组),具体方法是:把原始数据(如D31)除以100,把余数MOV到显示缓冲里去(如D9),其商继续除以100后放到下一个显示缓冲里去(如D9),直到所有需要显示的数据全部处理完毕。对于不需要显示的各位数据可以通过置位相应的M9~M12、M14~M17来关闭显示。
5、编码器:
M4=1 启动高速计数0,A+B相接法:A接H0,B接X0;M4=0,H0为普通开关量输入X060。
M5=1启动高速计数1,A+B相接法:A接H1,B接X1;M5=0,H1为普通开关量输入X061。
D28 29 高速计数H0数据寄存器;D31 D32 高速计数H1数据寄存器。
数据范围D28=0~32767,D29=-32767~+32767,D31=0~32767,D32=-32767~+32767。
注:本机只能进行16位的处理,所以编码器的二个寄存器要分别处理,不能用32位。例如从0再减1成负值时低位只能循环到显示32767,而高位显示-1,这时加1的话低位显示0、而高位也恢复到0。所以在编程时要二个寄存器配合用、显示时可用高为锁定0(不显示负值)。
6、PWM输出(PL0、PL1):
PWM频率=62·5K,周期=1/62·5秒,脉冲宽度调节D7(PL0)、D8(PL1)0~255=0%~100%。
7、与三菱编程软件的兼容性:
①、可用三菱FXGP—WIN_C编程软件,支持梯形图编程、下载、监控、对本PLC产品设加密口令。
不支持32位(P)指令、及在线修改程序和变更数据,本PLC程序长度须设置到2K或4K以下。
②、可用三菱SW3D5C—GPP_C编程软件,仅支持编程、下载,不支持监控等其他功能。其他同上。
③、本PLC对本手册介绍的指令和功能都能正常使用,其他三菱指令需要试验后决定能否正常使用。
④、对于高速脉冲输入(编码器)、模拟量输入(AD)、模拟量输出(DA)、PWM等须用本机指令。
⑤、本机无机内断电保持存储器,可用M2和D2来读出/写入FLAISH作为断电保持的数据存储器。
S7-1200 PWM功能怎么用?
1 PWM功能简介
PWM(脉冲宽度可调)是一种周期固定,脉宽可调节的脉冲输出,如图1示,PWM功能虽然使用的是数字量输出,但其在很多方面类似于模拟量,比如它可以控制电机的转速,阀门的位置等。S7-1200 CPU提供了两个输出通道用于高速脉冲输出,分别可组态为PTO或PWM,PTO的功能只能由运动控制指令来实现,PWM功能使用CTRL_PWM指令块实现,当一个通道被组态为PWM时,将不能使用PTO功能,反之亦然。
图1所示为PWM原理
脉冲宽度可表示为脉冲周期的百分之几(0-100%),千分之几(0-1000),万分之几(0-10000)或S7 analog(模拟量)形式,脉宽的范围可从0(无脉冲,数字量输出为0)到全脉冲周期(无脉冲,数字量输出为1 ) 。
图1 PWM原理
1 脉冲周期 2 脉冲宽度
2 PWM功能组态
CPU的两路脉冲发生器,使用特定的输出点,如图2所示,用户可使用CPU集成输出点或信号板的输出点,表中所示为默认情况下的地址分配,用户也可自己更改输出地址,无论点的地址如何变化,PTO1/PWM1总是使用第一组输出,PTO2/PWM2使用紧接着的一组输出,对于CPU集成点和信号板上的点都是如此。PTO在使用脉冲输出时一般占用2个输出点,而PWM只使用一个点,另个没有使用的点可用作其它功能。
脉冲功能输出点占用如图2
图2 脉冲功能输出点占用
组态步骤
1. 进入Device Configuration(设备组态)界面,选中CPU,点击属性,选中Pulse Generator(PTO/PWM)。如图3
图3进入设备组态
2. 组态脉冲发生器参数,如图4。
图4 脉冲发生器组态
1 Pulse generator used as(脉冲输出类型):用于选择PTO或PWM输出。
2 Output source(输出源):选择是CPU集成点输出或信号板输出。
3 Time Based(时基):Milliseconds(毫秒),Microseconds(微秒)
4 Pulse width format(脉宽形式):Hundredths(百分比),Thousandths(千分比),ten thousandths(万分比),S7 analog format(S7模拟量)。
5 Cycle time(周期):脉冲的周期值只能在此修改。
6 Intial pulse width(初始脉宽)。
图5所示为系统指定的硬件输出点
图5 PWM硬件输出点
图6为PWM所分地址
图6 PWM脉宽调制地址
1 Start address(起始地址):此地址为WORD类型,用于存放脉宽值,用户可在系统运行中实时修改此值达到修改脉宽的目的,默认情况下,PWM1使用QW1000,PWM2使用QW1002。
2 Process Image(过程映像区):由于脉宽值存放地址为过程映像区,这里选择更新方式,默认为周期更新。
3 HW ID(硬件识别号)。
3 PWM指令块
S7-1200 CPU使用CTRL_PWM指令块实现PWM输出,如图7.在使用此指令块时需要添加背景数据块,用于存储参数信息。
图7 PWM指令块
PWM指令块参数如表1
表1
当EN端变为1时,指令块通过Enable端使能或禁止脉冲输出,脉冲宽度通过组态好的QW来调节,当CTRL_PWM指令块正在运行时,BUSY位将一直为0。
有错误发生时ENO端输出为0,同时STATUS显示错误状态,如表2
表2
4 应用举例
使用模拟量控制数字量输出,当模拟量值发生变换时,CPU输出的脉冲宽度随之改变,但周期不变,可用于控制脉冲方式的加热设备。此应用通过PWM功能实现,脉冲周期为1S,模拟量值在0-27648之间变化。
1硬件组态
在硬件组态中定义相关输出点,并进行参数组态,双击硬件组态选中CPU
定义IW64为模拟量输入,输入信号为0-10V DC。
PWM 参数组态如下
图8所示为硬件参数组态
图8 硬件参数组态
图9所示为硬件输出点与脉宽地址定义
图9 硬件输出点与脉宽地址
2建立变量
在变量表中建好变量,如图10
图10 PWM示例建立变量
3程序编制
在定义完变量后,打开OB1,从指令列表中将CTRL_PWM指令块拖入编辑器中,并定义背景数据块,最后添加模拟量赋值程序。如图11
图11 PWM示例程序编制
4监控
在状态表中监控变量如图12,使能PWM_Enable,通过外部模拟电位计,改变输入电压“Analog_input”值,脉冲以1S的固定周期,脉宽随“Pulse Width”变化。
图12 PWM示例监控变量
相关问答
plcpwm怎么应用实例西门子?
程序失电后,PLC会保存上一个扫描周期的逻辑结果,将结果存放在程序状态字当中,对于元器件也会针对上一个扫描的结果而做出相应的动作!举例说,假如子程序1控...
西门子plc200怎么用pwm控制程序?
要使用PWM控制程序控制西门子PLC200,您可以按照以下步骤进行:1.定义一个计数器来生成PWM的周期,可以使用TON或TOF指令。2.定义另一个计数器来控制占空比,...
PLC中如何改变PWM输出的周期/脉冲宽度?
PWM功能可以在初始化时设置脉冲的周期和宽度,也可以在连续输出脉冲时很快地改变上述参数。其操作步骤为:1)设置控制字节,以允许写入(或者更新)相应...PWM功...
伺服电机怎么连接plc和编程?
伺服电机怎么连接plc和编程,这个首先要看你使用伺服电机的哪种模式,有位置模式、速度模式以及转矩模式,位置模式一般用于定位功能的,最常见最简单的方式就是...
plc提供多种编程语言有什么好处?
一、可以提高电脑水平。学习PLC编程,首先要学会各种PLC、触摸屏软件安装和卸载,打字当然也是必不可少的要求,软件中的菜单的应用相当于把电脑的基础知识...
IGBT和pwm关系?plc输出有几种类型,漏型和源型啥意思?
IGBT是逆变器的核心元件,PWM是调节单元用于控制IGBT的通断,从而控制输出频率!漏型和源型啥意思?混合型漏型和源型接线都可以漏形电流送电流从公共端流入...
pwm信号传输距离?
6m利用单片机测PWM51单片机软件模拟输出PWM信号,传输距离6m。但从规范角度说,电路板级高频逻辑信号传输超过50cm距离以上都可能产生可观察的信号畸变,对于...
用三菱FX2N系列PLC,FX2N-4AD-TC,K型热电偶做的温度控制,电...
[最佳回答]我始终觉得用PLC实现PID温度调节,是费力不讨好的事情,直接买温控器控制省时省力还省钱。控制和显示都要简单的多。我始终觉得用PLC实现PID温度调节...
s7-200PLC的编程语言及其特点?
⑵、CPU运算速度快,0.37us/位,指令丰富:具有浮点运算、指针运算、中断、通讯响应、PID运算、PWM脉冲输出等功能,存储容量大,充分适应现代控制技术,如最优...
pwm调光为什么会有频闪?
led灯闪烁可能有以下四个原因:1、功率变压器没上好,参数不符合,绕组没上够或多上,造成磁饱和或电感量不足;2、反馈电路有故障;3、...led灯闪烁可能有以下...