[西门子] S7-200SMART模拟量单个及批量处理

[复制链接]
查看56760 | 回复0 | 2024-5-20 16:11:02 | 显示全部楼层 |阅读模式
S7-200 SMART模拟量单个及批量处理

相关软(硬)件:

1、编程软件:Step 7 - Micro / Win SMART V2.7

2、CPU硬件:SR20 (IP:192.168.2.1)

注:本文程序仅供参考!!!         

本文借鉴Zane模拟量编程的方法,文末有原贴链接。



有关模拟量的信息参考前面的文章:

(参考文章:S7-200 SMART 模拟量概述及自建库文件)

(参考文章:S7-200 SMART 模拟量批量处理)

一、单个模拟量转换INT_REAL:

新建子程序(AI_INT_REAL)、建立变量表、编写程序、调用子程序、下载测试。

1、新建子程序(AI_INT_REAL)、建立变量表:   



定义变量

2、编写程序:   



定义指针、模拟量输入、量程范围



数据比较、初始化   



数据转换计算公式:

OUT = (In_chx - In_RawMin) * (In_EuMax - InEuMin) / (In_RawMax -In_RawMin) + In_EuMin



转换输出

完整程序:



3、调用子程序:   



调用子程序



数据块定义量程范围

4、下载测试:   



           

二、单个模拟量转换REAL_REAL:

新建子程序(AI_INT_REAL)、建立变量表、编写程序、调用子程序、下载测试。

1、新建子程序(AI_REAL_REAL)、建立变量表:   



定义变量

2、编写程序:   



定义指针、模拟量输入、量程范围



比较输出、初始化



数据转换计算公式:

OUT = (In_chx - In_RawMin) * (In_EuMax - InEuMin) / (In_RawMax -In_RawMin) + In_EuMin



转换输出

完整程序:



3、调用子程序:   



调用子程序   



数据块中定义量程范围

4、下载测试:   



           

三、单个模拟量转换REAL_INT:

新建子程序(AI_REAL_INT)、建立变量表、编写程序、调用子程序、下载测试。

1、新建子程序(AI_REAL_INT)、建立变量表:   



定义变量

2、编写程序:   



定义指针、模拟量输入、量程范围



数据比较、初始化



数据转换计算公式:

OUT = (In_chx - InEuMin) *(In_RawMax -In_RawMin) /  (In_EuMax - InEuMin) + In_RawMin



转换输出

完整程序:



3、调用子程序:   



调用子程序



数据块中定义变量

4、下载测试:   



           

四、批量模拟量输入转换INT_REAL:

新建子程序(Batch AI_INT_REAL)、建立变量表、编写程序、调用子程序、下载测试。

1、新建子程序(Batch AI_INT_REAL)、建立变量表:   



定义变量

2、编写程序:   



定义指针



数据个数判断、数据起始地址判断、初始化



间接寻址起始地址(16#0C000000指向模拟量地址AIW0、16#08000000指向V区地址VW0)   



指向数据起始地址、启用循环



指向模拟量地址、数据地址



数据转换、结束循环

完整程序:



3、调用子程序:



调用子程序



数据块定义量程范围

4、下载测试:   



           

五、批量模拟量输出转换REAL_INT:

新建子程序(Batch AI_INT_REAL)、建立变量表、编写程序、调用子程序、下载测试。

1、新建子程序(Batch AI_REAL_INT)、建立变量表:   



定义变量

2、编写程序:   



定义指针



数据个数判断、数据起始地址判断、初始化   



间接寻址起始地址、指向数据起始地址、启用循环



指向模拟量地址、数据地址



数据转换、结束循环

完整程序:



3、调用子程序:



调用子程序



数据块定义量程范围

4、下载测试:   




本帖子中包含更多资源

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

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

本版积分规则