c# - 如何通过网络访问远程机器上运行的 API

标签 c# cnc okuma

我想从外部 PC(即 OKUMA Controller 以外)连接到基于 OKUMA Windows 的控件,并在该机器上使用 OKUMA Open API。是否可以? (如果是那么如何?)

下面是我的代码,我想从我的笔记本电脑上运行它来检查机器运行模式。我收到错误,因为 Okuma.CLDATAPI 无法在我的本地 PC 上运行:

using Okuma.CLDATAPI.Enumerations; // Part of the API on the machine
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OKUMA_TRIAL
{
    public partial class Form1 : Form
    {
        Okuma.CLDATAPI.DataAPI.CMachine objCMachine;
        public Form1()
        {
            InitializeComponent();

            objCMachine = new Okuma.CLDATAPI.DataAPI.CMachine();
            objCMachine.Init();
        }

        private ExecutionModeEnum fnGetRunMode()
        {
            return objCMachine.GetExecutionMode();
        }

        private void btnRead_Click(object sender, EventArgs e)
        {
            txtRunMode.Text = fnGetRunMode().ToString();
        }
    }
}

如果这不可能,是否有其他方式与机器通信?

最佳答案

使用 Windows Communication Foundation 包装 API。

由于普遍需求,Open API SDK 现在包含一个 WCF 客户端/服务示例。

WCF Example Service and Client

请务必注意,我们不愿意发布具有 API 访问权限的公开可用服务的代码,因此此示例仅为本地主机配置。当然,更改配置是微不足道的,但无论谁这样做,都需要为此承担所有责任。

Microsoft 实际上在记录 WCF 功能方面做得很好,请参见下文。


.NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例

关于c# - 如何通过网络访问远程机器上运行的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48616507/

相关文章:

c# - 如何在Windows窗体C#中实现进度条?

2个方向均匀排列步数的算法

python - 将 python 流式传输到 GRBL

api - 如果我想要一个同时适用于车床和铣床的程序,初始化 Okuma API 的最佳方法是什么?

api - 使用 API 访问公共(public)(部分程序)变量

c# - 编译错误 CS0305

C# 正则表达式捕获括号

c# - Linq 查询中的“IN”和 'NOT IN'