Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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#是否适用于机器轴控制?_C#_Hardware_Axis_Encoder_Controlling - Fatal编程技术网

C#是否适用于机器轴控制?

C#是否适用于机器轴控制?,c#,hardware,axis,encoder,controlling,C#,Hardware,Axis,Encoder,Controlling,我们目前正在构思一种新的方法来控制我们的一台机器的轴。目前,我们有一个相当旧的系统(~30年前),需要更换 机器本身的轴由Simatic S5控制,Simatic S5本身由旧系统通过数字i/o控制。旧系统使用增量编码器和编码器接口读取轴的位置。根据位置,旧系统设置数字输出以控制轴。 现在我们正在考虑将C#与数字io卡以及增量编码器接口一起使用 现在的问题是,C#是否是读取编码器接口的可行解决方案,或者垃圾收集器导致的超时是否太多,无法处理控制 程序本身将非常小。主要问题是C#app不是确定性的

我们目前正在构思一种新的方法来控制我们的一台机器的轴。目前,我们有一个相当旧的系统(~30年前),需要更换

机器本身的轴由Simatic S5控制,Simatic S5本身由旧系统通过数字i/o控制。旧系统使用增量编码器和编码器接口读取轴的位置。根据位置,旧系统设置数字输出以控制轴。 现在我们正在考虑将C#与数字io卡以及增量编码器接口一起使用

现在的问题是,C#是否是读取编码器接口的可行解决方案,或者垃圾收集器导致的超时是否太多,无法处理控制


程序本身将非常小。

主要问题是C#app不是确定性的,因此它很有可能在给定的时间内无法读取所有数据,因为存在任何冻结/延迟等情况。 (例如,将循环设置为每10毫秒读取一次编码器,您无法100%确定它是否发生)

更好的选择是使用PLC应用程序,它允许您始终在给定的时间内读取数据。 数据可以缓冲,然后显示在c#app中


也许吧。如果您只有数字I/O,则不太可能在软件中关闭反馈回路并控制电机加速度。电机控制的两个方面确实需要一个硬实时系统,并且通常由微控制器或PLC来实现。@Zze出于与此处相同的原因,这个问题在那里是不合适的。请不要推荐你不熟悉的网站。看@gnat它不属于“建筑与设计”范畴吗?“[软件设计]遵循需求规范和编程前的活动”-来自软件工程帮助中心页面?SinseiJ有这些要求,并且在开始编程之前正在设计他的实现?听起来很合适。这个问题不是基于意见的。你只是不用c#做运动控制。