WinCC原始数据类型.pdf

WinCC原始数据类型.pdf

ID:51336739

大小:902.38 KB

页数:9页

时间:2020-03-10

WinCC原始数据类型.pdf_第1页
WinCC原始数据类型.pdf_第2页
WinCC原始数据类型.pdf_第3页
WinCC原始数据类型.pdf_第4页
WinCC原始数据类型.pdf_第5页
资源描述:

《WinCC原始数据类型.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最近有人提到原始数据类型,碰巧做过,写出来看看。为什么采用原始数据:有时候需要同时传输很多数据到PLC,不能分批下去,更不能有遗漏,怎么办?西门子推出了原始数据类型。如果大家想节约winCC的点数,也可以采用这个办法。首先,原始数据类型是针对大批量数据传输的,可以定义很多个字节。可以采用bsend/breceive的方式,西门子的官网有,下面是采用发送/接收块的方式做的:1,定义一大批变量,每隔208个字节定义一批;2,具体的定义如下:3,在计算机的内部变量里面定义你需要在WinCC上处理的各种变量,可以是实数,也可以是整形数;4,在WinCC需要用到大批量数据的地方链接您的内

2、部变量:5,编程,把内部变量发送出去。6,部分代码如下:思路:先把数据转换成int,然后好拆分成byte。情况1:如果画面上的变量是实数,并且可以通过乘以10或者100变为整数,并且转换后小于32767,那么可以如下操作:BYTEa[2400];BYTEa1[220];BYTEa2[220];BYTEa3[220];BYTEa4[220];BYTEa5[220];BYTEa6[220];BYTEa7[220];BYTEa8[220];BYTEa9[220];BYTEa10[220];longi;longj;intb[1200];b[0]=(int)(GetTagFloat("S

3、1_TT")*100);b[1]=(int)(GetTagFloat("S1_PP")*100);b[2]=(int)(GetTagFloat("S1_TI")*1.0);b[3]=(int)(GetTagFloat("S1_TP")*10.0);b[4]=(int)(GetTagFloat("S1_TC")*100);.......................中间省略.......................b[896]=(int)(GetTagFloat("S30_T")*100);b[897]=(int)(GetTagFloat("S30_U")*100);b[8

4、98]=(int)(GetTagFloat("S30_V")*100);b[899]=(int)(GetTagFloat("S30_W")*100);for(i=0;i<901;i++){j=i*2;a[j]=b[i]/256;a[j+1]=b[i]%256;}for(i=0;i<210;i++){a1[i]=a[i];}for(i=208;i<420;i++){a2[i-208]=a[i];}for(i=416;i<630;i++){a3[i-416]=a[i];}for(i=624;i<840;i++){a4[i-624]=a[i];}for(i=832;i<1050;i+

5、+){a5[i-832]=a[i];}for(i=1040;i<1260;i++){a6[i-1040]=a[i];}for(i=1248;i<1470;i++){a7[i-1248]=a[i];}for(i=1456;i<1680;i++){a8[i-1456]=a[i];}for(i=1664;i<1890;i++){a9[i-1664]=a[i];}for(i=1872;i<2010;i++){a10[i-1872]=a[i];}SetTagRaw("Recipe_Raw_0",a1,208);SetTagRaw("Recipe_Raw_1",a2,208);SetTag

6、Raw("Recipe_Raw_2",a3,208);SetTagRaw("Recipe_Raw_3",a4,208);SetTagRaw("Recipe_Raw_4",a5,208);SetTagRaw("Recipe_Raw_5",a6,208);SetTagRaw("Recipe_Raw_6",a7,208);SetTagRaw("Recipe_Raw_7",a8,208);SetTagRaw("Recipe_Raw_8",a9,208);SetTagRaw("Recipe_Raw_9",a10,208);情况2:如果变量全部是整数,那么如下操作即可:BYTEa[2400

7、];BYTEa1[220];BYTEa2[220];BYTEa3[220];BYTEa4[220];BYTEa5[220];BYTEa6[220];BYTEa7[220];BYTEa8[220];BYTEa9[220];BYTEa10[220];longi;longj;longb[1200];SetTagBit("M_A4",1);b[0]=GetTagSWord("S1_TT");.......................中间省略.......................b[111

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。