如何用一个脚本来确定计算机名并将它写入一个变量?


教导

在WinCC项目中执行以下项目函数:

#include “apdefap.h”
void ComputerName(char* TagName)
{
#pragma code (“Kernel32.DLL”);
BOOL GetComputerNameA(LPSTR Computername, LPDWORD size);
#pragma code();
char computer[16];
int size=16; //buffersize
GetComputerNameA(&computer[0], (LPDWORD)&size);
SetTagChar(TagName, computer);
}

变量“computer[]”和“size”的大小取决于计算机名的长度。在本例中,计算机名的长度为 15个字符。总长度为16个字符是由于计算机名的长度(15个字符)还要再加上字符串末尾的0(1个字符)。

这些函数可以在任何需要的时候在任何的动作中调用。参数“TagName”表达的是要写入计算机名的变量。这是一个带有8-位字符组的文本变量,该文本变量需要在WinCC变量容器中手动将其组态为一个项目范围内的刷新的变量。如果将这个变量附到一个WinCC服务器图像中的I/O域中,那么当调用此图像时,就会显示出计算机名。

本功能可以用于从多用户机上识别从主机到热备服务器的冗余切换。为此,计算机名必须保存在一个局部文本变量中,然后会被显示在服务器图像的一个I/O域中。

关键字
API调用,DLL集成,冗余切换

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论