[三菱] 模拟量编程之西门子+三菱案例

[复制链接]
查看248 | 回复0 | 2024-5-25 14:43:42 | 显示全部楼层 |阅读模式
前面我们说了关于模拟量的换算原理部分,今天来举个简单的例子进行模拟一下模拟量的实际编程,以常用的西门子和三菱为例:

西门子博图V16关于模拟量采集部分,之前我们有聊过关于模拟量的两个指令SCALE_X:缩放和NORM_X:标准化,可翻阅之前关于数值转换指令章节。下面只来看一下转换图示:



下面新建一个项目文件,添加一个1200PLC,在设备视图中添加模拟量模块,一个模拟量输入模块,一个模拟量输出模块,如下图所示:



此时,在刚添加而模拟量模块设备视图中,双击模拟量输入模块,打开模拟量输入模块属性界面,在模拟量输入模块属性界面可以看到关于硬件的详细信息,此模块有4个模拟量输入通道,分别为通道0-通道4,单独点击通道0可以选择更改测量类型,有电压和电流两种类型,此处选择电流型,电流范围选4-20MA,下方可启用诊断功能,如下图所示:



点击I/O地址,可以看到4个模拟量输入通道对应的输入地址,如下图所示:



当启用第一通道时,输入地址就是IW96,依次类推。

下面就是编写程序,先进行采集数据的标准化,比如以测温探头为例,就是将探头测量温度对应的输入数据进行标准化,将数据转换为0.0-1.0之间的数据,相当于计算百分比。NORM_X指令作用。

计算公式:OUT = (VALUE – MIN) / (MAX –MIN)

如果要求测温范围为0-100度,那么就是将模拟量输入模块采集到的数据进行缩放,计算处比例值,如下图所示:SCALE_X指令作用

计算公式:OUT = [VALUE ∗ (MAX – MIN)] + MIN



使用4~20mA,就是5530~27648

PS:零点补正问题,测量数据不准时需要根据实际现场,进行数据补正。

因为没有实际接线,可以利用仿真赋值测试效果,不再展示。

下面来看一下三菱的程序编写。

设通道启用通道0和通道1并且选4-20MA模式,模块直接链接在0号位置,没有其他特殊功能模块。程序如下图所示:



程序说明:在上一篇中有提到FX2N-4AD模块的号为2010,所以在“0”位置的特殊功能模块的ID号由BFM#30中读出,并保存到D4中,然后进行模块ID对比,模块确认无误后M1导通。

H3311代表通道0和1的输入类型为电流4-20MA;写入缓冲存储区BFM#0中;

然后,分别将4写入到缓冲存储区BFM#1和2中,表示采样数为4;

操作状态由BFM#29读出;

最后,在没有报错和数字输出值都正常的情况下,开始读取BFM的平均数据,此处通道0和1对应的缓冲存储区BFM#5和6被读入主单元内,保存在D0和D1中,此数据即为CH1和CH2的平均值数据。

以上就是三菱PLC一个简单的模拟量采集程序。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则