我从别人那里拷了个SCL的程序来用,非常简单的,全部写起来很麻烦,我只说问题。本来的程序在车间用这没问题,我拿来后就不行了是怎么回事。大致为:OB1里边调用了一个FC31, 然后新建另外一个AI源文件,里边先写FC30的程序为X2=INT_TO_WORD(AI_INPUT);AI_OUTPUT=X2/10.0;(定义变量的过程就不写了),再在下边定义FC31,FC31中调用FC30(AI_OUTPUT=TE1001),TE1001是我想得到的数值,是个热电阻信号,根据上边的程序,不就是把读进来的热电阻信号除以10然后赋给TE1001吗?但是实际现在看到的是实际输入值,也就是没除以10,到底怎么回事呢?
另外我拷贝来的程序打开从块中打开DB40(PID用到得数据块)时,总提示,无可用的参数和局部变量名,因为参数和局部变量名的描述之间存在时间冲突。 而在原来的程序从块中打开FC30 FC31时,提示Block fc30/31and the SCL source file AI have different time stamps!
这个拷贝来的程序到底有什么问题,感觉好多地方没运算到!
我刚发现里边FC30和FB40都带着锁,这样复制的话会游影响吗?但是那个能用的程序也是复制的。