常见问题:编译程序大小没有超过手册标注的程序空间,编译没有问题,但无法下载,提示程序块错误 原因:程序空间分为:普通程序空间+保密空间,程序块大小超过普通程序空间。 什么是保密库? 保密库的入口与主程序在同一个 PLC 节点下,如图:CT LIB1与CT LIB2是两个保密库,可配置相应的子项目 保密库与普通程序空间区别: 保密库不能够执行上载和程序监控功能,不支持运行模式编程。 如何使用保密库? [size=12.0000pt]1. 编写程序: 保密空间和普通程序空间一样,有程序块、符号表、向导等。 程序块有主程序OB1,可以添加中断程序块OB、功能块FC、C程序块CF,不支持DB功能块,程序块具体使用规则和普通程序空间一样,需要用主程序,可以再调用子程序,这里的程序块与普通程序空间的程序块是不冲突的,名称可以一样。运行顺序根据扫描周期运行。 符号表可自行分类建立多个符号表。 在“符号名”列键入符号名(例如,Input1),允许使用的最大符号长度为 23 个字符。 在“地址”列中键入地址或数值(例如,VB10 或 123)。 注释最多允许 79 个字符,也可为空。 保密空间中的符号表与普通程序空间的符号表是分开各自独立的,但全局变量值是相同的, 比如:保密空间符号表定义VD0符号名为‘运行速度’,普通空间定义VD0符号名为‘启动速度’,两个符号名不存在冲突,但VD0值在两个空间里是一样的。 向导仅支持PPI、UDP_PPI、MODBUS TCP通讯及HSC向导,使用方法与普通空间一致。 [size=12.0000pt]2. 编写完成后须在当前站点下的普通程序库中调用,如下图:
3.下载时需勾选程序块和 CT_LIB1/CT_LIB2,如果CT_LIB2 显示灰色原因是当前 PLC 类型只支持 CT_LIB1一个保密库。
[size=12.0000pt]4. 如果需要清除PLC内的保密库程序,点击 PLC--清除菜单,在对话框上选择要清除的库 CT_LIB1/CT_LIB2,点击清除即可。
如果下载时同时选择了程序块和 CT_LIB1/CT_LIB2,那么下载后 PLC 程序空间里旧的保密库程序会被覆盖。 当普通程序空间编写超出可使用大小如何移植到保密库? [size=12.0000pt]1. 先复制/剪切符号表 如果整个符号表都需要,可以在符号表中右击复制/剪切整个文件,粘贴到对应保密库下。
如果只有部分变量需要复制/剪切可以打开对应的符号表选中行,粘贴到保密库的符号表中。
2. 复制程序 在站点下的程序块中,先复制被调用的子程序,再复制调用子程序的相关程序
如果是带锁的库指令,先复制程序,然后按照FC的顺序在库指令中找到对应指令,替换掉粘贴过来程序中的库指令
快捷方式切换:insert可以切换到替换模式 为防止操作过程中有失误,建议先复制成功后,再从普通程序中删除。
|