我想在TwinCAT中使用SumSymbolRead阅读带有广告的多个符号。我可以在从指向PLC的端口读取符号时执行此操作。我遵循了Beckhoff的一个例子:
using (AdsClient client = new AdsClient())
{
client.Connect(address,port);
// Load symbolic information
ISymbolLoader loader = SymbolLoaderFactory.Create(client, SymbolLoaderSettings.Default);
var allSymbols = loader.Symbols;
ISymbol bVar1 = allSymbols["MAIN.Input1"];
ISymbol bVar1 = allSymbols["MAIN.Output1"];
SymbolCollection symbols = new SymbolCollection() {bVar1, bVar2};
// Sum Command Read
SumSymbolRead readCommand = new SumSymbolRead(client,symbols);
object[] values = readCommand.Read();
}
当我在EtherCAT主机上尝试同样的事情时(使用我已经验证过存在于主机上的符号),我得到一个错误消息“设备服务不受支持”。有没有办法为EtherCAT主服务器启用此服务?
发布于 2021-07-25 06:26:38
我和Beckhoff谈过这个问题。他们说IO中不支持Sum写入。所以,对于大师来说,这是不可能的。
发布于 2021-08-24 08:21:58
您可以简单地创建一个任务并链接来自EtherCAT主控的所有变量,您只需要任务的端口号,以及勾选任务设置中的"create symbols“复选框。
https://stackoverflow.com/questions/68043862
复制相似问题