基于C#开发PLC上位机(三)—MX软件中.dll库调用尝试

本文介绍了在C#控制台应用中如何调用三菱PLC的.dll库。首先尝试直接在控制台项目中添加库,但因缺少System.Windows.Forms程序集及ActiveX控件限制导致失败。然后通过在控制台内部创建Winform窗体,成功运行dll库。关键步骤包括添加所需库、设置项目属性以及处理ActiveX状态异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       

目录

一.失败案例:

二.成功案例:

 结论


        使用控件有很多限制,总有些人不喜欢使用winform,习惯用别的工具开发界面。本文在探索一个通用的工程,添加.dll文件实现在任意C#工程中即可调用三菱提供的官方函数。

一.失败案例:

        示例工程中,在工程文件下bin目录查看引用的.dll文件,我们初步猜测项目必须引用的库为前两个。

         接下来开始实验,我们新建一个控制台应用程序,不同于示例中,控制台项目中没有任何界面或者控件。

在引用中添加上述两个库,即:

添加命名控件,随便写两行代码,验证一下相关函数是否可用,我这里使用的是Open函数。

 

       

        很遗憾,它在报错,这个报错的大概意思是指有个基类需要在程序集System.Windows.Forms中才能使用,现在缺少此程序集。

还是在刚才的引用中,找到这个程序集并选中,可以发现报错已经消失:

         

        接着运行此代码,很遗憾,还在报错,该报错的大概意思就是ActiveX控件只能在单线程使用,而控制台程序是在多线程下运行的:

         百度解决方案,当前线程不在单线程单元中,因此无法实例化 ActiveX 控件解决办法 - winzheng - 博客园 (cnblogs.com),按照此种方法尝试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sy
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值