博途v17PLC学习
学习需求:打开项目,主要看程序块,程序能看懂之后,要学会如何读取运行中的变量值。右键某变量可以查看交叉引用信息。
学习笔记
四则运算:ADD SUB MUL DIV
模拟量表达方式:AI8*12Bit ,即8点模拟量输入,12位分辨率,其中11位精度1位符号位。
模拟量输入输出配置
两种方法:1.使用量程卡2.使用硬接线(两种也都使用博途)
规范化
规范化读入 scale
IN:欲转换的单整型输入值,即模拟量输入模块经过A/D转换所得到的模拟值(0~27648);
LO_LIM:以工程单位表示的下限值,实数类型;
HI_LIM:以工程单位表示的上限值,实数类型; BIPOLAR:“1”表示输入值为双极性,“0”表示输入值为单极性;
RET_VAL:指令执行状态指示,如果该指令执行出错,则返回 一个非0数值,如果该指令执行无错,则返回值为0;
OUT:规范化后的值,实数类型。
规范化输出 unscale
其作用为接收一个以工程单位表示,且标定了上下限的输入值,该输入值为实数类型,并将其转换为一个单整型的数值(eg:调节阀的调节幅度为 0~100%, 将其转换为0~27648的单整 数进行输出)
IN:欲转换的实数型输入值;
LO_LIM:以工程单位表示的下限值,实数类型;
HI_LIM:以工程单位表示的上限值,实数类型; BIPOLAR:“1”表示输入值为双极性,“0”表示输入值为单极性;
RET_VAL:指令执行状态指示,如果该指令执行出错,则返回 一个非0数值,如果该指令执行无错,则返回值为0;
OUT:转换后的结果,单整数类型。
存疑
存储区I、Q、M、D、L是什么玩意?
A:是寄存器,I是输入,Q是输出,M是中间变量,L是临时变量,在不同程序中临时变量不冲突,DB是数据寄存器。
IQM可以直接在默认变量表中定义,L在程序块中定义,DB在程序块——添加新块
DB块中可以修改监视值,其他变量不可以直接修改。
DB中新建数据会需要重新编译
数据块类型
数据块有三种类型:共享数据块、背景数据块和用户定义数据块。
- 共享数据块又称全局数据块。用于存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块存储的信息。
- 背景数据块用作“私有存储区”即用作功能块(FB)的“存储器”。FB的参数和静态变量安排在它的背景数据块中。背景数据块不是由用户编辑的,而是由编辑器生成的。
- 背景数据块和共享数据块有不同的用途。任何FB、FC、或OB均可读写存放在共享数据块中的数据。背景数据块是FB运行时的工作存储区,它存放FB的部分运行变量,调用FB时,必须指定一个相关的背景数据块。作为规则,只有FB才能访问存放在背景数据块中的数据。如果CPU中没有足够的内部存储位来保存所有数据,可将一些指定的数据存储到一个共享数据块中。存储在共享数据块中的数据可以被其他的任意一个块使用。而一个背景数据块被指定给一个特定的功能块,它的数据只在这个功能块中有效。与背景数据块相反,在符号表共享数据块的数据类型总是绝对地址。对于背景数据块,相应的功能块总是指定的数据类型。
查看DB块中变量数据分配地址
- 右键点击DB块——属性——常规界面——属性——取消选中“优化的块访问”,点击后出现选项框选择“确定”按钮即可,然后回到DB块界面进行编译
- 符号访问:<DB块名>.<变量名>;例如:Data_Block_1.Var1;
绝对地址访问:<DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。
注:
DB10.DBD0
=DB10.DBW0+DB10.DBW2
=DB10.DBB0+DB10.DBB1+DB10.DBB2+DB10.DBB3
=DB10.DBX0.00.7+DB10.DBX1.01.7+DB10.DBX2.02.7+DB10.DBX3.03.7
注意:复杂数据类型只能符号寻址。
PLC
S7-1500无缝集成到博途
多种语言LAD、FBD、SCL、STL
硬件组态
就是配置所有PLC模块
cpu:屏幕和可打开的内部
输入模块、输出模块
cpu
硬件组态时打开项目视图,选择添加新设备,选择屏幕中的型号,选择订货号,选择固件版本号。
添加之后在右侧硬件目录配置输入(DI)输出(DQ),检查订货号。
后面做连接。
硬件方面只需要通过网线连接cpu与主机,cpu记得接电,然后配置《网络和共享中心》中ipv4的地址,前三位需要和cpu一致,最后一位不能一致。
创建变量
1.在模块的属性里,选择IO变量,修改名称即可
2.默认变量表,可以下拉
修改变量值
中间变量直接用监控表,“修改值”进行修改,“扩展模式”里面可以选择修改扫描模式;
I/O变量可以用强制表。
- 监控与强制表——强制表——输入地址——最后记得停止所有强制
PLC触点与线圈
- 块的概念(OB1与FC)
OB1是主程序(main程序),FC是子程序,需要被调用才会执行。 - LAD
常开触点,一直为0,触发为1,常闭触点则相反。
线圈,运算结果为1,线圈就为1。 - FBD
新建块的时候语言选择FBD
与 或 非 =(赋值)
做案例(电机正反转)
- 确认输入输出位
- 对应修改变量名称等
- 新建程序块写逻辑
- run检验 (注意把程序块拖入main中!!!!!)
触点的置位与复位
置位复位就是开关。s是置位,R是复位。
注意触发器会分置位优先和复位优先。SR(置位/复位触发器)是复位优先吧,也就是两个按钮同时按下时,会执行复位,指示灯不会亮(不通路)。RS反之。
块的分类与使用
OB | 组织块 | 不需要调用,均是主程序 |
---|---|---|
FC | 函数 | 与FB的区别在于无DB数据块 |
FB | 函数块 | FB有静态变量Static,需要右键更新 |
DB | 数据块 | 与变量表很像,而其中的变量允许保持 |
OB自动调用,无法主动调用。
上升沿下降沿
P是上升沿
N是下降沿
略乱
计数器
PV一般是输入数值。
新版加计数器执行上升沿计数。
当计数(CV)大于等于PV时输出
Dint是比int更长的数据类型。
计数器
分为FB和FC
FC的话可以再新建一个DB。用来给赋值
DB中建立数据类型为IEC_XXXX的数据
计数器计数大于PV设定值时会亮
人机界面
人机界面与PLC建立连接
硬件设备有两种:触摸屏与工作站
两种主流的连接方式是以太网连接与DP连接
添加新设备,在设备组态——网络视图连接,两种连接方式对应的连线不一样,记得看清接口信息,跟后续操作对应。
在连接中对应操作
根画面右侧添加报警器尝试仿真,如果仿真不成功,则还需要在本地网络连接进行设置。
人机界面之变量与连接
- 自主建立变量——绝对访问
- 直接取得PLC变量——符号访问
两种方式访问的变量其实一样,只是符号访问不显示地址。(地址是一样的)
符号访问存在来源注释,绝对访问没有来源注释,所以尽量直接取得PLC变量。
PLC当中一定要有对应变量,才能在HMI中建立变量,否则是没有意义的。
绝对访问
HMI 连接在 TIA Portal 中是自动创建的
如果未对 HMI 设备和 PLC 之间的连接进行组态,则只要将 PLC 变量链接到 HMI 对象,就会自动建立连接。
PC Station与PLC建立连接
指令
移动操作
- MOVE 移动值