问题1:如何监视循环指令?
正常监视如图1所示,无法监控到循环程序内部的执行情况。
图1 监视页面
①点击监视按钮
②可以看到for循环内部没有任何变量显示
如果希望监视循环内部执行情况,可以在监视中的scl程序任意位置,如图2中操作。
图2 点击监视循环
激活监视循环后,跳出窗口如图3所示,点击按钮“是”。
图3 警告窗口
之后,就可以如图4所示的,看到循环内的情况,不过这会造成增加cpu循环时间,并且只能监控到第一个循环。
图4 监视循环
问题2:case指令如何实现顺控功能?
通过case of指令,可以比较容易实现类似顺控的功能,并且编程方法便捷、可读性较好。可以使用类似于下面的编程方式实现类似顺控的功能:
case 步骤号 of //int类型步骤号,一般位于fb的static
0:
步骤0
逻辑编程 //一般初始步不执行具体操作,只是初始化,然后是等待开始
if 条件 then
步骤号:=1;
elsif 错误 then
步骤号:=100;
end_if;
1:
步骤1
逻辑编程
置位复杂指令i.req
if 复杂指令i.done then
复位复杂指令i.req
步骤号:=2;
elsif 复杂指令i.error
复位复杂指令i.req
步骤号:=100;
end_if;
2:
步骤2
逻辑编程
置位复杂指令m.req
if 复杂指令m.done then
复位复杂指令m.req
步骤号:=3;
elsif 复杂指令m.error
复位复杂指令m.req
步骤号:=100;
end_if;
.
.
.
n:
步骤n
逻辑编程
置位复杂指令x.req
if 复杂指令x.done then
复位复杂指令x.req
步骤号:=n+1;
elsif 复杂指令x.error
复位复杂指令x.req
步骤号:=100;
end_if;
.
.
.
100:
错误处理 逻辑编程
步骤号:=0
end_case;
复杂指令0 //复杂指令调用
复杂指令1
.
.
.
复杂指令n
输出busy、done、status等
复杂指令一般包含:通信、运动控制、读配方、写数据日志、读写数据记录、定时器等异步指令,这些指令通常不放在case语句的逻辑中,而是在最后统一调用。
一般通过复杂指令完成位、错误位等作为跳转条件。如果是定时器,也可以通过判断时间是否到达作为跳转条件。
例子:使用case of指令编程运动控制,第一步相对运动以200mm/s的速度移动10000mm,第二步速度控制以100mm/s的速度移动15s,第三步停止。
图5为fb块的参数部分,图6为程序。
图5 fb参数
图6 源程序
问题3:如何导入导出scl源文件?
可以将scl编写的块,或者全局db以及udt导出成源文件,可以导出块或udt,也可以导出所关联嵌套的块或者udt,如图7所示。
外层块
scl编写 ob/fc/fb 全局db udt 背景db 工艺db plc变量
嵌套 无 可以导出 可以导出 可以导出 可以导出但没有变量 不可以导出 不可以导出
udt 可以导出 可以导出 可以导出 可以导出但没有变量 不可以导出 不可以导出
scl编写 fc/fb 可以导出 - - - - -
背景db - - - 可以导出但没有变量 - -
导出方式参见图7。
图7 导出源文件
通过选择“仅所选块”导出当前块,即表中绿色底色的部分。通过选择“包含所有关联块”,导出嵌套的udt、程序块,即表中红色底色的部分。
导入源文件方式如图8-9所示。
图8 导入源文件
图9 从源生成块
通过导入的方式可以导入单独内容的源文件,也可以导入包含多个内容的源文件。
问题4:如何使用经典step7的接口型式
在tia portal v15.1之前,scl块的接口方式和其他编程语言是一致的。从v15.1开始,scl块的接口方式可以修改成和经典step7相同的方式,操作方式如图10所示。
图10 块接口设置
①在tia portal选项中选择设置
②左边选择“scl(结构化控制语言)”
③在块接口选择“文本视图”,此设置默认选择表格视图。设置完,再新建的scl块即使用所选择的视图。之前新建的scl块不变。
如图11所示为文本视图的scl。
图11 文本视图scl
问题5:为什么goto指令会编译报错?
如图12-13所示,在lad/fbd中的scl编写goto指令时会编译报错,所以不要在这里编写goto指令。建议在lad/fbd中的scl不要使用过于复杂的编程,如果需要实现较为复杂的程序,建议单独把scl组织成为一个子程序,然后在lad/fbd中调用。
图12 编译报错
图13 语法错误
哪款蓝牙耳机好用?推荐四款高性价比的蓝牙耳机
阿里云成为Hyperledger超级账本全球会员,发力区块链生态建设
Juniper防火墙几种常用功能的配置
上海首家第三方整车OTA测试实验室携手MVG 填补智能网联汽车测试领域空白
Android电源管理基础知识介绍
SCL问题:CASE指令如何实现顺控功能?
工业码垛机器人自动装箱码垛工作站
焊接机器人高温焊渣怎么处理
交易所开发,数字资产抵押平台开发公司,交易所源码开发
特斯拉官方表示将在供应链恢复后免费为Model 3车主升级硬件至HW3.0
小米6什么时候上市?小米6最新消息:小米6手机明天发布 现货600万台不用抢购
PCB电路板菲林线路短路的改善措施介绍
TCL在MWC上演示双内折柔性屏概念机
世强与泰高签署代理协议 满足市场对氮化镓充电器的需求
LibreOffice 7.4.4 发布,Microsoft Office强大替代
专核专用 联发科提前布局AI
PA放大芯片-AT2401C功能简介
zigbee无线数传电台的工作原理及优势
FPGA中如何充分利用DSP资源,DSP48E1内部详细资源介绍
Gartner称Q3半导体库存达到高位警戒水准