当前位置: 主页 > PLC控制

S7300 用SCL语言while语句搜索变量值代码如下为什么死机

FUNCTioN_BLOCKfb200

VAR
index:int;
ST:ARRAY[1..100]OFSTRING[10];
tem:STRING[10];

END_VAR
BEGIN

index:=0;
st[30]:=’xuzhou’;
IFm100.0=1THEN
WHILEindex<100ANDst[index]<>’xuzhou’
DO
index:=index+1;
DB2.globle_index:=index;
END_WHILE;
m100.0:=0;
END_IF;
END_FUNCTION_BLOCK

图片说明:

2124372399e0acf2d75458363CE7c23eS7300 用SCL语言while语句搜索变量值代码如下为什么死机

最佳答案

st:ARRAY[1..100]OFSTRING[10];是1至100,而你index:=0;赋值0,程序不存在st[0],所以出错了,修改程序index:=1或st:ARRAY[0..100]OFSTRING[10]。

提问者对于答案评价:
可是我还有个疑问,我在另外一个共享DB块中建同样字符串数组【1..100】,然后scl中用index:=0然后进行搜索,虽然也是从0开始但是结果正常运行why

最佳答案作者回复:
我试了一下,还是会有错误的。不知道你是这样写的程序。

  • 关注微信

猜你喜欢

微信公众号