浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
西门子供应6ES7288-1CR60-0AA0

西门子供应6ES7288-1CR60-0AA0西门子供应6ES7288-1CR60-0AA0

6ES7288-1CR60-0AA0

SIMATIC S7-200 SMART,CPU CR60, 紧凑型 CPU,AC/DC/继电器, 机载 I/O: 36 个 24V DC 数字输入;24 个 2A 继电器数字输出; 电源:交流 47-63Hz 时 85-264V AC, 程序存储器/数据存储器 20 KB

在200程序中建立子程序1,在子程序1中建立局部输入变量in1,变量类型为word,自动生成地址为LW0,我现在要判断LW0.0是不是为true,该如何做?我在程序中直接输入LW0.0,显示红色报错,in1连接的外部变量来自wincc复选框的状态,请问我该如何选择局部变量LW0的位???

图片说明: 1,程序  

佳答案

1、我现在要判断LW0.0是不是为true,该如何做?我在程序中直接输入LW0.0,显示红色报错?
应输入为L0.0。
2、请问我该如何选择局部变量LW0的位?
与I,Q,V,M表示位变量一样,如I0.0,Q1.0,V100.0,M10.0。L的位变量为L0.0,L2.0,....。

微信截图_20230218164754.png

1. 西门子**编程PPT中说,在被调FC中,必须写输出参数(避免使用指令如S和R)? 为什么?
2. 如何用指针将一个数组(bits)写到另一个数组(bits),并且应该置位第二个数组,即 A array[0]   S array1[0],应该怎么写?

问题补充:
1. 您说的我理解,问题在于为什么说不能用S 和R
2.FC如图所示,该FC在模拟器中正常,但是用SFC51将数据写入DB作为该FC的输入,不能够正常输出

图片说明: 1,11  

佳答案

1、FC的输入输出是没有实际地址对应的,只有的程序调用时,才会和实际的地址产生对应关系。FC参数传递的是数据的地址。
2、需要对数组进行拆分后传送。
参见:FC中如何传递ANY指针

输出变量每次执行扫描后必须都要对其赋值,否则就会输出一个随机值。这就是不用S、R指令的原因,因为FC中没有保存输出状态的地址。
至于你的程序不能够正常输出,原因也在与此。其实你用字节、字传送也可以的,或用A、=,这样保证每次执行时都对输出赋值了。

01.jpg2.jpg

西门子供应,6ES7288-1CR60-0AA0,200CN模块,电源,交换机,西门子供应,6ES7288-1CR60-0AA0,200CN模块,电源,交换机,西门子供应,6ES7288-1CR60-0AA0,200CN模块,电源,交换机,西门子供应,6ES7288-1CR60-0AA0,200CN模块,电源,交换机西门子供应,6ES7288-1CR60-0AA0,200CN模块,电源,交换机

展开全文
优质商家推荐 拨打电话