SIMOTION中有些变量程序赋值后,还是原来的值

分享到:
269
下一篇 >

菜鸟提问:

SIMOTION中有些变量在程序中使用 := 赋值后,D445中的变量实际值未发生变化,还是原来的值?

但是其他的一些改变后,D445中的变量实际值发生变化。 这是什么原因呢?

斑竹:

哎 这种问题问得.... 大哥 你打个比方贴个程序上来也好啊 赋值语句 其实就是看你程序怎么写的

菜鸟:

不好意思,这几天忙,忘了登网页,程序是这样的,

VAR_GLOBAL RETAIN

ga_pos_X:ARRAY[0..NUM_POINTS] OF REAL:=[10.0,10.0,30.0,30.0,10.0];

ga_pos_Y:ARRAY[0..NUM_POINTS] OF REAL:=[8.0,2.0,7.67,4.0,8.0];

END_VAR

其中NUM_POINTS为4,这种赋值的,**次下载后ga_pos_X与ga_pos_Y里面的值是上面赋的值,但是后期我对赋程序进行更改如:

VAR_GLOBAL RETAIN

ga_pos_X:ARRAY[0..NUM_POINTS] OF REAL:=[1.0,2.0,3.0,4.0,5.0];

ga_pos_Y:ARRAY[0..NUM_POINTS] OF REAL:=[2.0,3.0,4.0,5.0,6.0];

END_VAR

程序下载后ga_pos_X与ga_pos_Y里面的值还是**次赋的值,这是怎么回事?

但是我的程序别的地方

VAR_GLOBAL CONSTANT

g_RP100_PRD_SPEED : INT := 1;

END_VAR

我将此值更改后他就发生了变化,为什么同样是赋值就不一样呢?

斑竹:

变量名字,类型都没变。数据块不会初始化。

增加个变量再下载就会重新初始化。

初始值和赋值是两回事。

var

;

end var

相当于一个数据块

你的是变量初始值 不是赋值语句 狮子说的是对的 需要初始化 可以加变量 也可以将卡回复出厂 然后再下进去

菜鸟:

原来已经下载到D445里的程序是这样的,

VAR_GLOBAL RETAIN

ga_pos_X:ARRAY[0..NUM_POINTS] OF REAL:=[10.0,10.0,30.0,30.0,10.0];

ga_pos_Y:ARRAY[0..NUM_POINTS] OF REAL:=[8.0,2.0,7.67,4.0,8.0];

END_VAR

VAR_GLOBAL CONSTANT

g_RP100_PRD_SPEED : INT := 1;

END_VAR

其中NUM_POINTS为4,这种赋值的,**次下载后ga_pos_X与ga_pos_Y里面的值酒是上面赋的值,g_RP100_PRD_SPEED也是1,但是后期我对赋值程序进行如下更改并进行了下载:

VAR_GLOBAL RETAIN

ga_pos_X:ARRAY[0..NUM_POINTS] OF REAL:=[1.0,2.0,3.0,4.0,5.0];

ga_pos_Y:ARRAY[0..NUM_POINTS] OF REAL:=[2.0,3.0,4.0,5.0,6.0];

END_VAR

VAR_GLOBAL CONSTANT

g_RP100_PRD_SPEED : INT := 8;

END_VAR

程序下载后ga_pos_X与ga_pos_Y里面的值还是**次赋的值,但是g_RP100_PRD_SPEED的值已经发生变化变为了 8 ,这是怎么回事? 实际情况是存在的,期间也没有“增加个变量”的情况。


你可能感兴趣: 工控菜鸟园 驱动技术 SIMOTION
无觅相关文章插件,快速提升流量