标签: plc

PLC未连接到KEP服务器(OPC)

我们无法让PLC与KEPServerEX(OPC)可靠连接.

我想知道SOF的其他人是否有使用PLC和OPC的经验.如果是这样,他们有任何关于与我们的OPC服务器建立可靠连接的提示.我们目前使用KEPServerEX作为我们的OPC,但如果有人知道更好的程序使用,我们愿意接受建议.

plc opc kepserverex

3
推荐指数
1
解决办法
2597
查看次数

欧姆龙PLC中梯形图编程的语言是什么?

PLC中的梯形图编程转换为什么?图形命令(例如开放式接触,指令等)是BASIC还是C指令,还是直接编译成汇编语言?

programming-languages plc

3
推荐指数
1
解决办法
4376
查看次数

PLC梯形图编程的最佳IDE

最近我试图学习PLC的梯形逻辑编程,但是我想知道是否有任何IDE可以更好地创建梯形图程序Step7cx-programmer?我可以使用Visual StudioNetbeans的插件吗?最后,在Linux或Microsoft Windows下使用PLC更好吗?

更新1:谷歌搜索后,我发现梯形图编程不依赖于PLC品牌或其型号,所以我没有在我的问题中提到任何品牌.

plc

3
推荐指数
1
解决办法
1万
查看次数

从西门子s7-1200(0x8104)读取时出现libnodave错误

在检查s7nodave对S7-1200的EPICS设备支持时,我遇到了一个引用libnodave的问题.当我尝试读取PLC中的任何内存地址时,IOC控制台报告错误:

epics> 2014/05/19 14:20:41.964 Siemens-PLC error while reading 1 bytes from PLC address FB35. Status = context not supported. Step7 says:Function not implemented or error in telgram.
Run Code Online (Sandbox Code Playgroud)

这是libnodave状态代码0x8104.当我试图在网上搜索此错误代码时,所有结果都是参考S7-1500,而不是S7-1200.

我可以通过Siemens SDK访问这些内存块:它们存在并包含有效数据.

为什么S7-1200拒绝发送libnodave数据?有没有选项可以从网络中提供数据块?

我用EPICS版.3.14.12.4,s7nodave 1.03 build with asyn ver.4.11,boost ver.1.55.0.在PC和Virtualbox上尝试了各种版本.

plc libnodave s7-1200 siemens

3
推荐指数
1
解决办法
6356
查看次数

通过 ADS.Net 将数组从 C# 发送到 TwinCat 3

我想使用 TwinCat 3 制作一个自动图形喷泉来控制阀门,并使用 Visual Studio C# 来处理要在喷泉上显示的图像。

图像处理程序的最终形式是一个二进制数组图像(附): Image Processing Result 1图像处理结果2

我想使用图像处理的最终形式来控制机器上的阀门(阀门在为 1 时打开,阀门在为 0 时关闭)。我对 TwinCat 3 非常新,尤其是使用 ADS图书馆。

infosys beckhoff 的样本对我没有帮助,有人可以帮我吗?

谢谢你

.net c# plc visual-studio twincat-ads

3
推荐指数
1
解决办法
3180
查看次数

CODESYS 中众多功能块的实例化 (IEC61131)

我使用 CODESYS 制作了一个功能块来执行电能计量。该功能块的输入是电流和电压,输出是能量。现在,我们需要有 1000 个该功能块的实例来运行我们拥有的 1000 米的代码。编写(可能还有复制和粘贴)这些实例似乎并不是最有趣的工作。想知道是否有人有更聪明的方法来进行如此众多的实例化。

例如,以下是 2 个实例的代码(在 CODESYS 中)的样子:

meter_instance1(CURRENT:=I1, VOTAGE:=V2);
Energy1:= meter_instance1.ENERGY;

meter_instance2(CURRENT:=I2, VOTAGE:=V2);
Energy2:= meter_instance2.ENERGY;
Run Code Online (Sandbox Code Playgroud)

我们希望有 1000 个实例。任何想法都会受到高度赞赏。

plc real-time instantiation codesys iec61131-3

3
推荐指数
1
解决办法
1765
查看次数

如何从 PLC 获取当前时间 (Beckhoff)

我试图从 PLC (Beckhoff-cx5130) 获取当前时间。我尝试过“GETSYSTEMTIME”,但没有得到任何输出。我还尝试了“NT_GetTime”“TIMESTRUCT”和“T_FILETIME”,但显示一些编译错误(可能是库问题)。关于此问题的任何建议(示例代码)将受到高度赞赏。谢谢!

plc st

3
推荐指数
1
解决办法
7611
查看次数

TwinCAT 3 中“操作”和“方法”有什么区别?

在 TwinCAT 3 中使用功能块时,我看到可以使用 anaction代替 a 的选项method。我只熟悉方法。两者之间有什么区别,什么时候应该使用其中一种而不是另一种?

我想知道为什么TwinCAT中的FIFO数据结构使用动作而不是方法。

plc structured-text twincat

3
推荐指数
1
解决办法
1326
查看次数

可以用PLC通过modbus代替PLC中的逻辑梯形图程序吗?

试图找出使用Raspberry Pi/linux服务器控制工业PLC的最佳方法 - 特别是在以太网上使用python和pymodbus(modbusTCP)...

一旦PLC内部注册表正确映射到modbus,用python编写的软件可以代替PLC中的梯形逻辑编程并完全控制它吗?

或者仍然需要编写梯形图逻辑/本机PLC代码?

python linux plc modbus raspberry-pi

2
推荐指数
1
解决办法
6866
查看次数

无法将 0.001 添加到 REAL 数字

这是 TwinCAT3 中的最少代码

// declaration
fTest : REAL := 32700.0;

// implementation
fTest := fTest + 0.001;
Run Code Online (Sandbox Code Playgroud)

该代码会将 fTest 增加到 32768。该数字不会再增加。任何高于 32768 的当前 fTest 值都将阻止其增加。数量保持不变。而且,即使我改为0.0010.00190.0011仍然不会增加。然而,当我写0.002.

范围REAL-3.402823e+38到产生3.402823e+38。但有一些与 32768 有关的东西。如何在 32768 以上的 fTest 中正确添加 0.001 或更低的值?这可能是 TwinCAT 中的一个错误吗?

更新:

有关 TwinCAT 中 REAL 的更多信息

根据 IEC 61131 3 / IEC 559 / IEEE754,32 位数据类型 REAL 的结构为 1 位符号、8 位以 2 为基数的指数(带符号)(-126...+127)、23 位尾数 (0 ...8,388,607)。

floating-point plc twincat

2
推荐指数
1
解决办法
289
查看次数