Fanuc-Karel中%CMOSVARS与in cmos的相互关系
为什么写这篇文章呢,主要是因为前两天我在写一个程序的时候遇到这个问题了,控制器断电重启后定义的变量被初始化了,所以我想和大家分享一下。在这之前我想先给大家介绍一下内存。只有清楚了什么是内存?有几种存储方式?它们之间分别有什么区别?知道以上几点那么就能更快更深入了解%CMOSVARS与in cmos的关系以及作用。
软件。FROM也可作为FROM设备(FR :)用于用户存储。
我们现在了解了内存的三种储存器,现在再来看看%CMOSVARS与in cmos的相互关系,分别来看一下它们的使用方法。
ant; overflow-wrap: break-word ! import ant;"> CMOSVARS import
ant; overflow-wrap: break-word ! import ant;"> import
ant; overflow-wrap: break-word ! import ant;">--如果在一个程序的开头出现了%CMOSVARS的指令的话 import
ant; overflow-wrap: break-word ! import ant;">--则表示下面程序中所用变量都将储存在CMOS中 import
ant; overflow-wrap: break-word ! import ant;">--也就是说存储在SRAM中,存储的内容在断电时保留其存储的值 import
ant; overflow-wrap: break-word ! import ant;">用法示例如下: import
ant; overflow-wrap: break-word ! import ant;">PROGRAM VAR_CMOS import
ant; overflow-wrap: break-word ! import ant;">'CMOS v1.0' COMMENT = import
ant; overflow-wrap: break-word ! import ant;"> CMOSVARS --下面程序中所用变量都将储存在CMOS中 import
ant; overflow-wrap: break-word ! import ant;">VAR import
ant; overflow-wrap: break-word ! import ant;">DiClampOpen:INTEGER import
ant; overflow-wrap: break-word ! import ant;">int_test1:ARRAY[10] OF INTEGER import
ant; overflow-wrap: break-word ! import ant;">--以上两个变量存储在SRAM中,在断电时保留其存储的值 import
ant; overflow-wrap: break-word ! import ant;">BEGIN import
ant; overflow-wrap: break-word ! import ant;"> WRITE('DiClampOpen = ',DiClampOpen,CR) import
ant; overflow-wrap: break-word ! import ant;"> WRITE('int_test1 = ',int_test1,CR) import
ant; overflow-wrap: break-word ! import ant;">END VAR_CMOS import
%CMOSVARS看作是一个程序的全局定义的话,就可以看作为in cmos就是指定变量的局部定义,我不知道我这样理解的对不对,如果说不对的话,请留言给我们改正。那一起再来来看看in cmos
ant; overflow-wrap: break-word ! import ant;">in cmos import
ant; overflow-wrap: break-word ! import ant;">--如果说我们将%CMOSVARS看作是一个程序的全局定义的话 import
ant; overflow-wrap: break-word ! import ant;">--那么in cmos就是指定变量的局部定义,只定义某一个或者某几个变量储存在SRAM中 import
ant; overflow-wrap: break-word ! import ant;">用法示例如下: import
ant; overflow-wrap: break-word ! import ant;">PROGRAM VAR_CMOS import
ant; overflow-wrap: break-word ! import ant;">%COMMENT = 'CMOS v1.0' import
ant; overflow-wrap: break-word ! import ant;">VAR import
ant; overflow-wrap: break-word ! import ant;">DiClampOpen:INTEGER import
ant; overflow-wrap: break-word ! import ant;">--默认都被加载到DRAM中 import
ant; overflow-wrap: break-word ! import ant;">DoClampOpen IN CMOS:INTEGER import
ant; overflow-wrap: break-word ! import ant;">--定义该变量储存位置为CMOS,或者我们这里不能说是定义,换成指定吧。 import
ant; overflow-wrap: break-word ! import ant;">int_test IN CMOS:ARRAY[10] OF INTEGER import
ant; overflow-wrap: break-word ! import ant;">--变量储存位置为CMOS import
ant; overflow-wrap: break-word ! import ant;">int_test1:ARRAY[10] OF INTEGER import
ant; overflow-wrap: break-word ! import ant;">--默认都被加载到DRAM中 import
ant; overflow-wrap: break-word ! import ant;">BEGIN import
ant; overflow-wrap: break-word ! import ant;"> WRITE('DiClampOpen = ',DiClampOpen,CR) import
ant; overflow-wrap: break-word ! import ant;"> WRITE('DoClampOpen = ',DoClampOpen,CR) import
ant; overflow-wrap: break-word ! import ant;"> WRITE('int_test = ',int_test,CR) import
ant; overflow-wrap: break-word ! import ant;"> WRITE('int_test1 = ',int_test1,CR) import
ant; overflow-wrap: break-word ! import ant;"> WRITE('int_test11 = ',int_test1,CR) import
ant; overflow-wrap: break-word ! import ant;">END VAR_CMOS import