Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取PLC S7-300串行数据_C#_Java_Plc - Fatal编程技术网

C# 如何获取PLC S7-300串行数据

C# 如何获取PLC S7-300串行数据,c#,java,plc,C#,Java,Plc,我们有西门子PLC S7-300,带有以太网通信端口。 哪种类型的java或其他语言编码可用于获取plc的帧数据。? 该PLC仅与step-7软件通信 该框架结构数据还可以存储在某个文本文件的xml中,以便我们可以将其连续发送到internet 请帮助我有第三方库允许这样做。在我们公司,我们正在使用。它是本机库,但也提供了.NET包装器。图书馆有点快。您也可以尝试管理的版本,速度不太快,但它有一个免费版本 或者,您可以尝试设置服务器并使用OPC客户端读取PLC数据,但它们有些昂贵。请查看,它是用

我们有西门子PLC S7-300,带有以太网通信端口。 哪种类型的java或其他语言编码可用于获取plc的帧数据。? 该PLC仅与step-7软件通信

该框架结构数据还可以存储在某个文本文件的xml中,以便我们可以将其连续发送到internet


请帮助我

有第三方库允许这样做。在我们公司,我们正在使用。它是本机库,但也提供了.NET包装器。图书馆有点快。您也可以尝试管理的版本,速度不太快,但它有一个免费版本

或者,您可以尝试设置服务器并使用OPC客户端读取PLC数据,但它们有些昂贵。

请查看,它是用C编写的,但有许多可用的包装器和端口,包括Python、Node.js、.NET、C#、Arduino,以及一个Java调用的端口,因为您提出了要求

从官方文件:

Snap7是一个开源、32/64位、多平台以太网通信套件,用于与西门子S7 PLC进行本机接口。这个 新的CPU 1200/1500、旧的S7200、小徽标0BA7/0BA8和SINAMICS驱动器也部分受支持

我假设您的设置由一个带有CP 343通信模块的S7-300 CPU组成。要从CPU读取数据,系统必须运行S7服务器(可通过NetProSIMATIC Manager内部配置,如中所述)。远程计算机应使用Snap7客户端库

该库包括读取不同内存区域的函数,例如进程输入(I)、进程输出(Q)、merkers(M)、定时器(T)和计数器(C)以及通用数据块(DBs)。如果服务器已启用,且配置不受限制(例如,某个IP地址),则默认情况下,客户端应至少可以访问I、Q和M以及某些系统属性(如CPU型号和固件版本)

对于您的Java案例,请查看Moka7文档,该文档可以在同一文档中找到。有几个代码示例可以开始


如果成功,
ReadArea
函数将返回指定字节的十六进制数据(即开始读取的内存位置和字节数)。请注意,请记住,大多数西门子PLC都是big-endian,因此,如果您正在读取包含不同类型数据的内存区域,则可能需要进行转换。

您是否阅读了制造商的文档?LIBNODAVE:。你可以从C、C++、C、Delphi、Pascal、Perl和VB访问S7 PLC数据,用这个数据得到哪种格式???它是否存储在某个文件中并发送到internet..或不。!!。