你现在位置:首页>技术论文>软件知识>正文
wincc的n个经典问题解答之三
日期:2006-7-13 0:12:10 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
   部分非本人原创,整理在一起旨在给大家提供方便!
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

41:用C编程解决授权点数不够用的问题(acsun提供)
P.L.C.技.术.网——可编程控制器技术门户

WWW_PL※CJS_COM-PLC-技.术_网

      当需要的工艺参数超过WinCC版本限制的Tag数目,可以用C语言编程实现多个工艺参数打包成一个Tag传送.例如某个配料称重系统有146个参数超过了WinCC的128个Tag的限制就可以用C语言编程决这一问题而不需要购买更高的授权.
WWW.PLCJS.COM——可编程控制器技术门户

P.L.C.技.术.网——可编程控制器技术门户

基本思想就是把多个参数在下位机内存中连续排列然后在WinCC中定义一个Tag它的长度是多个参数之和取得这个Tag后编程将其分成多个参数
WW.W_PLC※JS_C,OM-PL,C-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

例如下位机有两个参数LTN44001和LTN44023都是16位整数分别存放在DD99.DW146和DD99.DW148
——可——编——程——控-制-器-技——术——门——户

WinCC中定义一个外部Tag命名为PackageTag类型为32位整数并联地址为DD99.DBD146再定义两个内部tag名为LTN44001和LTN44023在 Global Script全局脚本中C语言编程如下
——可——编——程——控-制-器-技——术——门——户

Union
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

{
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Long Dword
——可——编——程——控-制-器-技——术——门——户

Int Word[2]
WWW_P※LCJS_COM-PLC-)技.术_网

}union
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Union.Dword=GetTagDword("PackageTag")
plcjs.技.术_网

SetTagWord("LTN44001",Union.Word[0])
WWW_PLCJS_COM-PLC-技.术_网

SetTagWord("LTN44023",Union.Word[0])
plcjs.技.术_网

这样两个参数LTN44001和LTN44023就通过一个Tag传送上来了理论上只要下位机内存足够可以传送任意数量的参数而不受WinCC版本外部Tag数目的限制.
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

42:如何在WinCC里用C语言调用SQL语言?  
WWW_PL※CJS_COM-PLC-技.术_网

    1、创建一个SQL文件。
——可——编——程——控-制-器-技——术——门——户

此文件在ISQL中创建,文件内容是所希望执行的SQL语句。 
plcjs.技.术_网

    2、在WinCC的C Script中编写程序调用此SQL文件,如以下程序所示: 
P.L.C.技.术.网——可编程控制器技术门户

#i nclude "apdefap.h"
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

void OnLButtonDown(char* lpszPictureName, 
WWW_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

char* lpszObjectName,
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJS_COM-PLC-技.术_网

char* lpszPropertyName, 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

UINT nFlags, int x, int y)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WW.W_PLCJS_COM-PLC-技.术_网

{
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

char*a="C:\\SIEMENS\\Common\\SQLANY\\ISQL-q-b-c
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

UID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

W1WW_P4LCJS_COM-PLC-技.术_网

DBN=CC_testsql_99-12-03_12:48:26R;
WWW_P※LCJS_CO※M-PLC-技-.术_网

——可——编——程——控-制-器-技——术——门——户

READ
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

E:\\testsql\\test.sql";
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

printf("%s\r\n",a);
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PL※CJS_COM-PLC-技.术_网

ProgramExecute(a);
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

}
WWcW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

下面是一个简单的SQL文件内容:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW.PLCJS.COM——可编程控制器技术门户

select * from pde#hd#t#test;
WWW_PLCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

output to E:\\test2.txt FORMAT ascii
P.L.C.技.术.网——可编程控制器技术门户

注意:文件名及路径中不要带空格。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

43:如何整点启动归档? 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

在"Global Script"下的Project functions编写函数:cyclicarchive 
WWW_PLCJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

BOOL cyclicarchive()
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

{
WW.W_PLCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

#pragma code ("kernel32.dll");
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WW.W_PLCJS_COM-PLC-技.术_网

void GetLocalTime (SYSTEMTIME* lpst);
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

#pragma code();
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW.PLCJS.COM——可编程控制器技术门户

SYSTEMTIME time;
WWcW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Int t1;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

W1WW_P4LCJS_COM-PLC-技.术_网

GetLocalTime(&time);
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

t1=time.wMinute;
WWW_PL※CJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

if(t1==00)
WWW_PL※CJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

{
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

SetTagBit("startarchive",1);
WWW.PLCJS.COM——可编程控制器技术门户

WWcW_PLCJS_COM-PLC-技.术_网

return(BOOL)(GetTagBit("startarchive"));
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

}
WWW_P※LCJS_COM-PLC-)技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

在Tagloging中的"Properties of process tag"中的"Archive Tag"tab下的Archiving type选择Cycle-selective,在"Event"标签下的"Start Event"内选择cyclicarchive函数。 
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

44:如何在按键组合被禁用的情况下,从WinCC运行环境进入WinCC Control Center? 
WW.W_PLCJS_COM-PLC-技.术_网

最好是做一个按钮,该按钮需要用用户权限保护,在该钮中编写如下C-action: 
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

低于WinCC 5.0版本:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#pragma code ("user32.dll");
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

BOOL SetForegroundWindow(HWND);
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

#pragma code();
W1WW_P4LCJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

HWND handle;
P.L.C.技.术.网——可编程控制器技术门户

——可——编——程——控-制-器-技——术——门——户

handle=FindWindow("MCPFrameWndClass",NULL);
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJS@_COM%-PLC-技.术_网

If (!SetForegroundWindow(handle))
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Printf ("\r\n SetForeground fails");
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_P※LCJS_CO※M-PLC-技-.术_网

WinCC 5.0版本以及更高的版本:
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

#pragma code("user32.dll");
W1WW_P4LCJS_COM-PLC-技.术_网

plcjs.技.术_网

BOOL SetForegroundWindow(HWND);
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

#pragma code();
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

HWND handle;
WWW_PLCJS_COM-PLC-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

handle=FindWindow("WinCCExplorerFrameWndClass",NULL);
plcjs.技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

If (!SetForegroundWindow(handle))
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Printf ("\r\n SetForeground fails"); 

本新闻共7页,当前在第11 2  3  4  5  6  7  
WWW_PLCJS@_COM%-PLC-技.术_网

评论内容
载入中...
相关文章
商城相关
相关下载
博客相关
论坛相关
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
深圳秦合源科技有限公司 
   深圳市秦合源科技有限公司是国内领先的规模较大品种齐全的称重传感器(Loadce......
广州汇巨自动化设备有限公司 
   广州汇巨自动化设备有限公司是一家专业工业自动化产品和自动化设备开发、维修改造、电......
深圳联脉电子有限公司 
   公司自1998年创立以来,一直致力于工业控制产品的研发、制造、销售,目前有机房监......
北京力天昭阳科技发展有限公司 
   北京力天昭阳科技发展有限公司(PekingPowerSkyScience&......
东莞市友诚自动化 
   本公司专业代理台湾永宏、台达PLC、HITECH人机、特价供应文本显示器MD20......
深圳市爱威轮实业有限公司 
   爱威轮实业对广大用户的技术支持与服务,贯穿于与客户接触的每一个环节中,渗透在每一......
·栏目热门排行
·站内热门排行
载入中。。
报告错误·关于我们· 用户帮助· 联系我们 · 友情链接· 本站服务 · 合作伙伴 · 版权声明· 招聘信息 · 投搞指南

迅闻自动化工程部声明如下:
旗下网站:PLC技术网(www.plcjs.com)-可编程控制器技术门户
网站备案号:粤ICP备17165530号
网站法律顾问:ITLAW-庄毅雄律师
法律保护:PLC技术网,迅闻电子,plcjs.com,plcjs.net,plcjs.cn等字样

Copyright 2010-2015. All rights reserved. 

51La