1,程序写完之后发现提示3803错误
2,我把这个全局变量删了会提示另外一个全局变量错误
3,没有头绪,回到这个程序的前一个版本,一点点把后来写的程序加进去,写一点进去就全部编译一次,后来添加某个ton的时候,突然开始提示3808错误
4,后来注意到一个地方,我在子程序,主程序里定义声明变量的时候,会占用一点内存,具体的可以在编译的时候看到,就是这个
看着好像还比较多,但是每次定义一个新变量的时候,上一项数据就会增加1bytes,而且定义一个新的ton的时候,会一口气增加近20个比特。
如果上面的比率超过百分百,那么就会出现3803错误
5,去手册查到的解释如下:
6,解决办法,检查一下程序,把没有用到的变量都删了,特别是ton型的变量
新建变量时,系统可以自动定义。但当变量被删除时,定义语句不会自动删除,继续保留
在编辑器中,因此要注意变量不能定义重复。可使用
“
工程
”/“
查看
”/“
未使用变量
”
命令查找
到这些无用的变量声明。具体使用方法请参见
8.2.3
章节。
7,把一些变量设置为保持类型变量,这个时候,就是第二排数据在变化了
具体来看定义变量时的选项框:就是定义好变量后把后面的保持勾选上
自动定义变量对话框的各项含义,如下所述:
¾
类别:类型选择。各类型区别请参见表
4-4-3
,如:希望定义的变量在所有的
POU
中都能
使用,则定义为全局变量,选择类型
VAR_GLOBAL
。
¾
名字:声明变量的名称,即标识符。关于变量命名的规则,请参见
4.4.1
章节。
¾
类型:数据类型选择。可以直接在输入框中输入,也可以点击
按钮,然后在弹出的对
话框中选择数据类型。各类数据类型请参见
4.4.2
章节。
¾
符号表:只有在
“
类 别
”
选 择
“VAR_GLOBAL”
时,符号表才可选。默认选项为
“Global_Variables”
。当定义一个全局变量时,在
“
资源
”
选项卡中打开
“
全局变量
”
文件夹,
可以看到
“Global_Variables”
,双击
“Global_Variables”
,刚定义的全局变量便显示在这里,
如图
4-4-2
所示。
¾
初始值:变量的初始值。这里可以填入一个与变量数据类型对应的常量,完成变量的初始
化。
¾
地址:定义变量的地址。
¾
注释:变量的含义。
保持型变量和常量?
变量自动定义时,在自动定义对话框右下角有两个选项:常量和保持。当选择常量,则将
该变量作为一个常量,程序中无法再改变其数值。当选择保持型变量时,表示将该变量设
置为具有掉电保持功能,该变量存储在
R
存储区。
保持型变量?
在很多工程中,通常需要数据具有掉电保持功能,使
PLC
断电后数据不丢失。在定义变量时,
可以直接定义变量为保持型变量,此时变量自动保存于
R
存储区,具有掉电保持功能。
在自动定义时,在自动定义对话框的右下角,选择“保持”选项,变量就自动定义为保持型变
量。在手动定义时,将变量定义在
VAR_RETAIN
和
END_VAR
之间,也可以定义该变量为掉电保
持变量。
前面讲到存储区(
4.1
章节)时曾提到,
M
区的部分地址(
%MB300~%MB799
)同样具有掉电
保持功能。将变量定义为保持型变量与将数据放入地址在
%MB300~%MB799
的存储区内,具有相
同的效果。