您现在所在的是:

德嘉工控

回帖:3个,阅读:5280 [上一页] [1] [下一页]
8646
大连德嘉工控WB 版主
文章数:1910
年度积分:506
历史总积分:8646
注册时间:2018/5/31
发站内信
发表于:2020/7/1 14:05:52
#0楼
实现工作:将WinCC中32位无符号数通过C脚本转换为32位浮点数
步骤如下:
1.建立变量“z32”,数据类型为无符号32位值,地址为modbus寄存器地址:3x400001。485通讯设备直接用wincc读取其数据,中间需要加大连德嘉ModbusTCP/ModbusRTU转换器,该转换器是将ModbusRTU协议转换为ModbusTCP协议,从而通过以太网方式和上位机WinCC通讯。
附件 图片1.jpg


2.建立内部变量“b_float”,数据类型为32位浮点数IEEE 754。
附件 图片2.jpg


3.然后建立测试画面,添加一个IO域,然后启用C动作,编写如下例程。

附件 图片3.jpg

如图片看不清,可以直接看下面语句:



#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{
float  b_float;
BYTE  *c_str;
BYTE buf[4];
DWORD z;
z=GetTagDWord("z32"); //Return-Type: DWORD

buf[3]=(z>>24)&0x000000FF;/*0x43;*/
buf[2]=(z>>16)&0x000000FF;/*0x71;*/
buf[1]=(z>>8)&0x000000FF;/*0x08;*/
buf[0]=(z>>0)&0x000000FF;/*0x40;*/
c_str=(BYTE*)&b_float;
*c_str=buf[2];c_str++;
*c_str=buf[3];c_str++;
*c_str=buf[0];c_str++;
*c_str=buf[1];

return b_float;
}

4.最后运行wincc监控画面如下:


附件 图片4.jpg


这里通过Modbus Poll调试软件测试,将数据类型显示为Float CD AB格式。

附件 图片5.jpg


注:可能有的设备定义32位数时,数据类型为AB CD,这样得话就将重新组合一下,如下。因为这个具体要看设备厂家是怎么定义的数据处理方式,有的是高字节在前,有的是低字节在前。

#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{
float  b_float;
BYTE  *c_str;
BYTE buf[4];
DWORD z;
z=GetTagDWord("z32"); //Return-Type: DWORD

buf[3]=(z>>24)&0x000000FF;/*0x43;*/
buf[2]=(z>>16)&0x000000FF;/*0x71;*/
buf[1]=(z>>8)&0x000000FF;/*0x08;*/
buf[0]=(z>>0)&0x000000FF;/*0x40;*/
c_str=(BYTE*)&b_float;
*c_str=buf[3];c_str++;
*c_str=buf[2];c_str++;
*c_str=buf[1];c_str++;
*c_str=buf[0];

return b_float;
}
39679
jint 管理员
文章数:20783
年度积分:299
历史总积分:39679
注册时间:2007/8/30
发站内信
发表于:2020/7/1 16:25:43
#1楼
好帖,图片看不清,可以点击图片再放大图片哦
温馨提示:
电话:0755-26546361
邮箱:blog@gkong.com
微信公众号:工控论坛;微信号gkongbbs;
不定期修改账号密码;不要在多个网站用同一账号密码
可随时站内信联系,工作日可拨打电话或发邮件咨询相关问题
4255
1240368017
文章数:476
年度积分:95
历史总积分:4255
注册时间:2018/6/19
发站内信
发表于:2020/7/1 21:09:45
#2楼
楼主,本来打算买一个你们公司以太网交换机,微信联系后没有下文了。
8646
大连德嘉工控WB 版主
文章数:1910
年度积分:506
历史总积分:8646
注册时间:2018/5/31
发站内信
发表于:2020/8/6 9:47:53
#3楼
回复 #2楼 1240368017
您可以加我下15712391325

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003