博途的间接寻址和S7-300/400大不一样。博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。
优化数据块可以用数组类寻址。这次的控制任务是模拟类的批量处理,s7-300/400模拟量批量处理很繁琐。
控制任务
把数量不定的模拟量转换成工程量,然后保存到指定的数据块中。这里我们为了测试,不读取PIW中的模拟值,而用MW代替。
象这样的控制任务,我们一般用SCL来写会比较方便。请看下面的程序。
控制程序
程序简单说明一下:
LOWER_BOUND 读取 resultArray的下限
UPPER_BOUND读取resultArray的上限
lenOfEmtpyArray是数组除去offsetArray偏移量后还剩的空余长度,如果这个长度小于模拟量的数量,则退出。另外如果arrayLowerBound小于下限,也退出。
第19行,SCL 中的循环要注意,开始和结尾都是闭区间,和c语言等高级语言不一致。
第20行,PEEK_WORD 就是读取M区的模拟量。具体用法可以参看手册。
第25行,对数组的读写,也是间接寻址,在scl中没有这种说法了。间接寻址等概念都是汇编下的,高级语言没有这种叫法。
最后,模拟量转化为工程量后为100.0 和 54.0,存入数据块。
关键字:模拟量
引用地址:
SCL编程可以批量处理模拟量吗?
推荐阅读最新更新时间:2024-11-02 15:31
PLC模拟量闭环控制系统的基本原理
PLC虽然是在开关量控制的基础上发展起来的工业控制装置,但为了适应现代工业控制系统的需要,其功能在不断增强,第二代PLC就能实现模拟量控制。当今第四代PLC已增加了许多模拟量处理的功能,完全能胜任各种较为复杂的模拟控制,除具有较强的PID控制外,还具有各种各样专用的过程控制模块等。近年来PLC在模拟量控制系统中的应用也越来越广泛,已成功地应用于冶金、化工、机械等行业的模拟量控制系统中。
PLC模拟量闭环控制系统的基本原理
输入信号和输出信号均为模拟量的控制系统称为模拟量控制系统。过程控制系统是指被控制量为温度、压力、流量、液位、成份等这一类慢连续变化的模拟量控制系统。
如图所示为典型的模拟量闭环控制系统结构框图。图中
[嵌入式]
PLC模拟量输入转换过程
plc模拟量输入采集数据,在计算-转换后得到MD双字,最终上位机监控显示地址DB.DBW单字,这个过程是如何转换的,用到什么指令?请高手指点,最好详细举例说明,谢谢! 用MOV指令将双整数(如:DB20.DBD48)转换为上位机监控显示地址(单整数)如何转呢?是取低两位还是高两位呢? 答:一般用西门子的标准功能块FC105将模拟量输入模块采集的数据转换为实数可以用MD来保存,然后将实数转换成双整数(可以用ROUND或TRUNC指令),最后用MOV指令将双整数转换为你的上位机监控显示地址例如DB.DBW(单整数)。之所以可以用单整数信号来显示你的采集值应该是你的输入信号并没有超过单整数信号的表达范围,否则会造成数据溢出。
[嵌入式]
S7-200模拟量使用应该搞清的16个基本问题
1. 什么是单极性、双极性?双极性就是信号在变化的过程中要经过“零”,单极性不过零。由于模拟量转换为数字量是有符号整数,所以双极性信号对应的数值会有负数。在S7- 200中,单极性模拟量输入/输出信号的数值范围是0-32000;双极性模拟量信号的数值范围是-32000-+32000。
2. 同一个模块的不同通道是否可以分别接电流和电压型输入信号? 可以分别按照电流和电压型信号的要求接线。但是DIP开关设置对整个模块的所有通道有效,在这种情况下,电流、电压信号的规格必须能设置为相同的 DIP开关状态。如0-5V和0-20mA信号具有相同的DIP设置状态,可以接入同一个模拟量模块的不同通道。
3. 模拟量应该如何换算成
[嵌入式]
PIC单片机进行AD转换的设计
AD转换 我们先看看R1和R2,R2是个可调电阻如果我们将R2变大RA1这个管脚上的电压就越大。R2变小RA1这个管脚上的电压就越小。那单片机是怎么知道电压变化的。这就需要AD转换。就是将模拟量转换成数字量。 PIC单片机如何表示电压 PIC用十位二进制位的数来表示电压,也就是数值0~1023来表示电压。那比如现在这个数值是400那这代表多少的电压?这就要根据参考电压来确定了。 比如我们设置正参考电压为3.3V ,当输入的电压为0时,数值就为0。当输入的电压为3.3V时,数值就是1023. 那如果输入的电压是1.2V代表多少电压。 首先,先算出一个数值代表多少的电压 3.3V除以1023 约等于 0.003V 。
[单片机]
浅谈PLC编程中的三大量及模拟量的计算
一、PLC中的三大量 PLC中无非就是三大量:开关量、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。 1、开关量也称逻辑量,指仅有两个取值,0或1、ON或OFF。它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用。 开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作。所以,有时也称其为顺序控制。而顺序控制又分为手动、半自动或自动。而采用的控制原则有分散、集中与混合控制三种。 2、模拟量是指一些连续变化的物理量,如电压、电流、压力、速度、流量等。 PLC是由继电控制引入微处理技术后发展而来的,可方便及可靠地用于
[嵌入式]
如何解决变频器对PLC模拟量干扰
下面是一个变频器对PLC模拟量干扰的例子以及用信号隔离模块克服此类干扰的解决办法。 一、举例1 现象说明 西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动。 故障查找 1、疑似模拟量输出板卡问题,用万用表测量4-20mA输出信号,信号是正常的! 2、开始怀疑是变频器控制信号输入端有了问题,换了一台同型号变频器,问题仍然如此。 3、用一台手持式信号发射器做4-20mA输出信号源,输出标准电流信号至变频器,这下变频器启动了,因而我们排除了模拟量输出板卡和变频器的故障。 4、由此推测是变频器的干扰信号传导至模拟量通道所致。 5、为了验证,在PLC模拟量4-20mA输出通道中加装了一台
[嵌入式]