注意:博途上添加设备时,订货号和版本号需要与实物一致
一、博途V16软件使用
1、进入软件后,选择创建新项目
2、填写相关信息,最后点击创建
3、点击打开项目视图
4、点击添加设备,选择需要添加的PLC,触摸屏等
5、我这里随便添加
其中我们的设备名为CPU 1516-3 PN/DP
PN:Profinet 以太网 设备可以通过以太网工作
DP:Profibus 公共总线
添加触摸屏
点击取消
二、DQDI模块
DI 数字量输入
DQ 数字量输出
AI 模拟量输入
AQ模拟量输出
数字量:就是1和0 ,离散信号,接收外部传感器信息
模拟量:连续不断变化的信号,不会在时间轴上突然消失,连续信号
PLC接线:棕正蓝负黑信号
随便选择一个DI模块,右键选择属性
32个通道,4个字节,支持24v直流电
起始地址可以进行修改地址,地址是逢八进一
点击此处可以进行仿真,不需要实际硬件也可以进行代码调试
三、PS与PM
PS与PM分别是什么?
PS:系统电源 对模块供电
PM:负载电源 对外部负载进行供电
PS有背板总线可以为机架后面的输入输出模块供电
PM没有背板总线,通过前端墙壁连接为模块和 I/O 提供 24 V DC 电流
选择PLC右键选择属性可以看电源段的功耗,这个PLC自带了12w的供能,如果功耗大于了12w就需要添加PS
机架100处是用来添加PM的
四、自动化组态
首先选择你的电脑网口(我的电脑没有网口),展开后点击更新可访问的设备,如果没有出现设备,可能原因是1、你的电脑ip地址。2、网线是否插好,设备是否开启。
扫描成功是这样的
对et200sp进行一个恢复,点击在线和诊断
选择重置
其他的一样如此设置
如果不知道订货号,可以使用非指定的CPU 1500进行自动识别
点击获取
因为PLC 1500的安全性要求比较高,我们需要给PLC设置密码
在PLC属性,防护与安全,勾选完全访问权限
对变频器进行组态,选择调试
点击调试向导
一直下一页到电机,进行如图配置
其他页面根据自己需要进行修改
五、一个亮灯的小程序
首先在PLC变量中添加变量,然后在OB块中写程序,因为我们没有实际设备,我们采用M,寄存器来给变量赋地址
触摸屏制作
启动按钮是元素一栏第二个,灯使用圆代替
右击启动按钮,选择属性,在事件中个按下添加一个置位位,变量选择按钮,释放同理,但是添加复位位
双击圆,在动画中的外观,进行变量添加,范围中添加0和1,亮灯和不亮的外观
最后点击HMI,在点击仿真
出现该窗口,点击启动和松开,灯回做出相应动作
如果发现按下启动,灯没有立即亮起就是采集周期太长
在HMI变量中,选择显示所有变量
更改采集周期
六、置位复位的使用
有置位就一定有复位,有复位不一定有置位
这里使用交通灯来进行模拟,如下图
按下北启动,北绿亮红灭,东绿灭红亮
按下东启动,东绿亮红灭,北绿灭红亮
所使用到的有:常开开关,置位线圈,复位线圈
相关变量
效果图
七、触发器指令
SR置位复位触发器
RS复位置位触发器
s和s1引脚的开关可以置位灯
R和R1引脚的开关可以复位灯
R1的指令优先级大于S,S1的指令优先级大于R
八、边沿指令
|P|上升沿 状态由0到1
|N|下降沿 状态由1到0
该指令需要两个bool变量,下面的bool变量不能一样,因为它们是用来储存上一个扫描周期启动按钮的状态的,由于边沿指令只能接通一个扫描周期的时间,我们使用普通线圈无法观察到变化,所以使用置位指令来获取一个周期是否通电
九、Scale与数据标准化
NORM_X是标准化指令,SCALE_X是缩放指令
其中标准化指令的最大值为27648是因为1、27648与16位寄存器的最大值65535相比,留有一定的安全裕量。2、27648作为模拟量离散化后的最大值,建立了实际模拟量值与PLC中数字量之间的线性关系。
十、计数器
CU是计数器输入,R是复位输入,PV是置位,CV是当前计数器值,PV是置位输出
每次点击加计数启动,当前计数器值就会加一,当前计数器到PV值时候,就会进行置位输出,点亮加计数灯,点击加计数复位就会复位当前计数器值,并复位加计数灯
十一、数据移动指令
MOVE指令将IN引脚数据赋予给OUT引脚,如果输入的数据是32位,但是输出的数据是16位就会导致数据丢失;EN是使能输入,直接连接在母线上会直接执行MOVE模块,所以需要添加一个常开触点
十二、数学函数指令
因为EN接在母线上,不见触点将会一直执行CALCULATE模块,为了点击开启计算才能计算,我们在EN前添加一个常开触点。
具体运算方式在如图下划线位置进行设置
十三、数据比较指令
常用的有等于,大于,小于,均是满足条件通电
IN_RANGE值在范围内,OUT_RANGE值在范围外,下图为值在范围内,顾名思义,输入值在最小值与最大值范围内就会通电,OUT_RANGE与之相反
十四、OB块与FC函数
在程序块添加新块中,我们可以看见以下四个
OB块(组织块)的Program cycle为主程序块,回一直循环执行,PLC扫描顺序从左到右,从上到下,循环扫描。
startup为启动OB,PLC由停止到运行时进行执行,只执行一次,也就是一次扫描周期,所以在启动OB中写定时器是不行的
TON定时器指令
TON是接通延时,也就是通电后开始计时
IN是电流输入,Q是电流输出。PT是设定时间,ET是当前时间。
该程序意思是,按下完成按扭,定时器开始工作,当前时间到达设定时间,引脚Q输出电流,点亮stop切run线圈。
延时中断OB会中断循环,也就是Time delay interrupt的优先级高于Program cycle
所谓优先级,就是PLC选择先执行的程序,优先级越高,PLC优先执行那个程序
如图,在循环OB执行到三分之二时被优先级高的程序打断,需要等待优先级高的程序执行完成,再继续执行
FC函数
为什么要使用FC函数
FC相当于子程序,可以将复杂的逻辑封装成一个独立的单元,程序就更加清晰,容易理解和维护
主要的是FC没有背景数据块(DB),他使用全局数据块(GDB)或M区来保存数据。减少了储存资源的占用,特别是处理大量数据时
FC中的INPUT,OUTPUT是叫做形参
形参也可以说是块接口
在主程序中将FC放到梯形图上,可以发现水压参数等等,这些就是形参
有形参就是实参,在PLC变量表中添加的,如下图就是实参
在FC中写逻辑来处理实参,打个比喻,主程序块像是老板,实参是老板得到的数据。FC像是员工,形参是员工要处理的数据。老板的数据交到员工手里,就是员工的数据,在根据员工内部的逻辑来对数据进行处理,产出一个员工的数据。员工将数据报告给老板,就变成老板数据。
如图
老入是老板的数据传入(实参输入)
员处是员工处理数据,也就是在FC中写的代码
该逻辑使用的值在范围指令,下图是监控的FC里面的程序,如果无法监控就需要取消勾线优化块访问
右击FC,选择属性,在常规里面选择属性,取消优化的块访问。
什么是优化的块访问。
优化的块访问是对块访问进行优化,它会将使用完的数据丢弃掉,所以无法监控
十五、OB组织块(延时中断)
之前说过优先级,cpu会优先处理优先级高的
时间延时中断OB的使用
为什么要使用延时中断OB
该功能类似于定时器,但是比普通定时器的精度高,它不受扫描周期变化的影响。通过延时中断OB,可以在不同部分插入延时操作,不用修改主程序的逻辑结构,如果程序需要等待某个事件的发生或某个条件的满足,使用延时中断OB可以减少CPU的占用率。因为延时中断OB在延时期间不会占用CPU资源,直到延时时间到达后才会执行相应的程序。延时中断OB执行完毕后,继续执行循环OB。
添加OB
在循环OB中添加SRT_DINT指令,如图大致意思为,按下启动延时,运行SRT_DINT指令,SIGN启动该指令事件标识,1表示启动。RET_VAL是该指令的运行状态,DTIME设定的延时时间,设定时间到达就执行OB_NR所指定对应ID的OB块
我只在延时中断OB中写了一个亮灯
在扩展指令中的延时中断指令
使用延时中断取消
先点击启动延时,在设定时间内点击延时中断取消,就可以取消延时中断
查询延时中断状态,STATUS是状态参数,选择下图指令块,按下F1,查看西门子手册
可以发现,手册上是用位来进行解释的,我们得到的是16进制的10,使用计算机的程序员模式进行转换,
HEX是16进制,DEC是10进制,OCT是8进制,BIN是2进制,将16进制数转换为2进制就可以了
十六、OB组织块(循环中断)
循环中断块只在设定时间到达时让CPU进行扫描,节省了CPU资源
右键循环中断OB,点击属性,再点击循环中断,循环时间是从cpu启动时开始计时,到达循环时间就扫描一次循环中断OB,相移是出现多个循环中断,为了防止扫描循环中断混乱,对于具有相同或相似时间间隔的循环中断,为每个中断设置一个合适的相移时间。相移时间的大小应根据实际需求和中断的优先级进行确定。
使用move指令来进行演示
这是循环OB里面的
这是循环中断OB里面的
到循环时间到达就会执行循环中断OB的程序
十七、OB组织块(硬件中断)
十八、G120变频器应用
N=60F/P(电动机转速公式)
N:电动机转速(理论转速)
F:电源频率 50Hz
P:电动机极对数 (2.4)
变频器:修改频率对电机控制
停止:16#047E
正转启动:16#047F CW(顺时针)
反转启动:16#0C7F CCW(逆时针)
复位:16#04FE
QW256:方向讯号寄存器
QW258:速度状态寄存器:16384 模拟量:27648
将停止和正反转的16进制数写入方向讯号寄存器,在速度状态寄存器里面写数字调解频率
十九、Graph块
Graph/FB 顺控器
目标:四个灯,每3秒,循环点亮
添加graph块
调用Graph,在循环OB中,将graph/FB拖到母线即可
Graph每个引脚的含义
双击步进行添加动作,让第一个灯亮,其他三灯熄灭,转换条件是超出步激活时间
在最后添加了跳转,跳回第一步,进行循环
二十、Graph前固定指令与后固定指令
PLC对顺控器的扫描是先扫描前固定,顺控器,后固定;每个指令都只扫描一个扫描周期,不会等待某个指令完全执行完成
操作情景:
水泥搅拌机:高速搅拌3s(红色)中速搅拌3s(棕色)低速搅拌3s(绿色)得到启动(粉色)
启动按钮 报警灯(蓝色)
在前固定指令中做一个开启标记
在第一步等待开启标记的触发
在后固定中添加,当低速灯亮起时,为走了一个循环,亮起报警灯
结果
前固定指令一般写顺控器的复位,顺控器中写运行逻辑,后固定指令中写顺控器的监控(超速,超温等报警)。在现场的工业中不给S1(步1)写东西,直接走T1进行复位(转换条件1)。
二十一、Graph互锁(Interlock)与监控(Supervision)
互锁,继电器控制,使用正转线圈锁住反转触点,反转线圈锁住正转触点。
当互锁黄的状态为0是才能互锁成功,这里是互锁黄按钮没有按下状态为0,不给互锁线圈通电,导致"黄":=1没有通电,就没有点亮黄灯。
监控
当按下报警了按钮且执行到这个步,就触发监控线圈停止顺控器
接触监控状态需要先复位报警了按钮
在顺控器FB的引脚中有个ACK_EF(确认所有错误和故障)
按下报错复位后就恢复。
二十二、FB块FC块DB块
编程思路:1、线性化编程(程序全写OB1)特点:结构简单,概念简单。缺点:重复扫描浪费资源。
2、模块化编程(将程序分成不同逻辑块)特点:易于分工合作,调试方便。
3、结构化编程(将过程要求中类似或相关任务进行归类,在函数或者函数块中进行编程形成通用的解决方案)写一个函数块,优点:各个任务的创建和测试可以相互独立进行,通过参数可将块设计的十分灵活。
FC块:函数,没有自己独立的资源,因为没有自己的数据存储器,需要给每个形参调用实参。
FB块:函数块,有自己的数据存储器。
DB块:实际就是一个数据存储器,可以是一个全局数据块,也可以是FB块的背景数据块。
以下是FC块
以下是FB块
发现FB的计算按钮断开后结果数据保持,是在FB的背景数据块进行保存的
FC的形参会释放掉,全部变量占用系统资源不会轻易释放掉。
FC的数据进出程序块传输的是地址。没有背景数据块,没有地方放数据只能传输地址。
FB的数据进出程序块传输的是数据,因为FB有背景数据块有地方放数据。
数据DB占用CPU的装载存储区和工作存储区,与标识存储区类似都是全局变量。M数据区已经定义好了,DB最大不能超过装载存储区和工作存储区的内存。
FB=FC+DB
二十三、HMI应用基础(趋势图制作)
在控件中选择第二个
右击趋势图选择属性,添加趋势
循环时间是多少时间采集一次数据
其他属性根据自己需求进行修改
接下来做数据标准化
使用顺控器对温度不断赋值
得到趋势图
趋势图里面的平滑区应该是扫描周期的原因。
二十四、报警
报警的分类:
1、自定义报警(用户可以自己设定和触发的报警)分类:1、离散量报警(数字量报警、IO报警)2、模拟量报警(温度、压力、湿度、张力)
2、系统报警:1、HMI触发的系统报警 2、PLC触发的系统报警
模拟量报警
进行数据标准化
在HMI中点击HMI报警进行设置
选择模拟量报警,添加报警文本和触发变量,大于60就会报警
在HMI中添加温度的标准化和报警画面
离散量报警
触发变量是16位,小车位置错误的地址是MW636,西门子是高位到低位的地址排序
M636.7-M636.0
M637.7-M637.0
触发位是8,所以是M636.0
版权归原作者 以乐助勤 所有, 如有侵权,请联系我们删除。