LM小型可编程控制器软件(基于CoDeSys)笔记二十八:错误3803

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 的存储区内,具有相
同的效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值