通过PRAGMA指令可以改变一个或几个变量的字段。而这些字段影响着编译和预编译过程,这就意味着PRAGMA指令可以影响代码的生成。
例如,它可以决定是否对某个变量进行初始化和监控、是否将其加入参数列表或符号表设置,也可以决定是否令其在库管理器中可见。
PS:注意单引号的符号问题,请在英文输入法下键入;由于编辑器的问题直接复制可能无法使用,请参照表格直接输入即可
| 序号 | 命令 | 功能 | 语法 |
|---|---|---|---|
| 1 | Dispalymode | 修改显示模式 | {attribute’displaymode’:=’hex’|’dex’|’bin’} |
| 2 | ExpandFully | 展开所有变量 | {attribute’ExpandFully’} |
| 3 | Global_init_slot | 全局变量初始化 | {attribute’global_init_slot’:=<值>} |
| 4 | Hide | 隐藏变量列表 | {attribute’hide’} |
| 5 | Hide_all_locals | 隐藏所有变量 | {attribute’hide_all_locals’} |
| 6 | Initialize_on_call | 每次调用时恢复初始值 | {attribute’initialize_on_call’} |
| 7 | Init_on_onlchange | 每次修改时恢复初始值 | {attribute’init_on_onlchange’} |
| 8 | Instance-path | 初始化路径 | {attribute’instance-path’} |
| 9 | Linkalways | 装载符号配置并下载 | {attribute’linkalways’} |
| 10 | Monitoring | 加载监测变量 | {attribute’monitoring’:=’variable’} |
| 11 | No_check | 禁止程序中的校验函数 | {attribute’no_check’} |
| 12 | No_copy | 禁止复制实例化对象 | {attribute’no_copy’} |
| 13 | No_Exit | 退出(需配合退出方法) | {attribute’symbol’:=’no_exit’} |
| 14 | Noinit | 隐含初始化 | {attribute’noint’} |
| 15 | No_virtual_actions | 禁止虚拟动作,防止重载 | {attribute’no_virtual_actions’} |
| 16 | Obsolete | 用户自定义警告 | {attribute’obsolete’:=’user defined text’} |
| 17 | Pack_mode | 定义数据结构的封装模式 | {attribute’pack_mode’:=’ |
| 18 | Parameterstringof | 访问变量实例化名 | {attribute’parameterstringof:=’ |
| 19 | Qualified_only | 只有加全局变量前缀才能被调用 | {attribute’qualified_only’} |
| 20 | Symbol | 修改符号配置的读写属性 | {attribute’symbol’:=’none’|’read’|’write’|’readwrite’} |
用法:
{attribute’hide_all_locals’} 这一句加在功能块变量定义区域的第一行,可在引用功能块输入输出接口的时候让局部变量不显示在可选列表内,只显示输入输出变量;
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
我的知识库
本文地址: ST语言编程技巧之PRAGMA指令
本文地址: ST语言编程技巧之PRAGMA指令
