1、 WINCC用C脚本,如何将变量管理器中的变量与字符结合成字符串赋值给一字符串变量
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
//char s[255];
#pragma code("kernel32.dll")
void GetLocalTime(SYSTEMTIME *lpst);
SYSTEMTIME zeit;
GetLocalTime(&zeit);
SetTagWord("Word_1",zeit.wHour);
SetTagWord("Word_2",zeit.wMinute);
SetTagWord("Word_3",zeit.wSecond);
//sprintf("String","%d%d%d",zeit.wHour,zeit.wMinute,zeit.wSecond); //这种方式还是不能输出。
//s=strcat(char Word_1,char Word_2);我的目的就是想把时/分/秒连接在一起用一个输出框输出。
//该怎么实现,很着急,谢谢!
}
2、 如何赋值给文本变量,我用SetTagWord赋值后,与该文本变量链接的文本框无输出,这是什么原因。
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagDWord("c",5);
如果文字不好观看,请看下图。
图片说明:
最佳答案
你是想直接读取系统时间进行显示的吗?建议通过下位机做一下,你可以查一下SFC1的使用方法,SFC1是Read System Clock。
SFC1的参数CDT要求的类型是DATE_TIME,要输入这个参数必须在DB块里定义一个DATE_AND_TIME类型的变量,使用这个变量的符号来输入,不用名字是不行的,假如这个变量的起始地址是DB1.DBX0.0,那么这个程序下载后,你再上传上来,因为没有符号了,SFC1的CDT的参数实参就显示为P#DB1.DBX0.0,功能的参数访问复杂数据类型其实是以指针的形式,但我们却不能直接输入指针类型,这都是由编译器决定的。
参考: http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=75814&cid=1029
《S7-300系列PLC CPU系统时间设置技巧》:
http://wenku.baidu.com/view/20a03408581b6bd97f19ea49.html
《如何同步操作面板与 S7-200/300/400 控制器的日期和时间?(更新版)(2007.03.29) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0133
提问者对于答案的评价:
并不是我想要的,但是只有你回答了,谢谢你,分给你吧。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc201548.html