c#与西门子plc通讯

前言:示例所用工具为博途v15+advanced v5.0+s7netplus。

写这个是因为网络上对于plc方面的介绍实在太少了,而且信息都很分散。作为初学者在这里走了太多弯路。所以记录一下。以及中间一些常见的bug和需要注意的地方

由于写的比较细,所以会很长。

博途 PortalV18 +advanced v5.0 安装   

直接看这个教程:这是一位大佬微信公众号的教程:直接跟着它一步一步安装即可。值得注意的是。在安装过程中把系统自带的防火墙关掉

如果有装360和电脑管家什么的。也要关掉。最好卸载不然容易出现一些奇奇怪怪的问题。切记!

TIA Portal V18软件安装教程

启动博途

首先按照教程装好之后会有六个图标:

上面4个不用管,其中TIA Portal V18是博途编程软件(后面简称博途)。S7-plcsim advanced V5.0是仿真软件(用来模拟真的plc)(后面简称仿真软件)

首先打开博途:

创建新项目:项目名自定义

创建项目慢属于正常现象。和电脑关系不大

在启动页面点击》设备与网络 》根据图片所示创建就好。其中勾选打开设备视图表示进入编程页面。在启动页面有一个直接打开设备视图,即便没有创建设备(即cpu)也能直接进去,在里面创建。

创建过程中会让你勾选几个常用的选择   我记得是关于安全方面的。我自己的电脑给关闭了。反正如果只是给c#模拟通讯的话那几个权限全部打开。

创建好之后大概的界面就长这样:这里只介绍c#通讯方面,所以博途软件具体使用就不做阐述

和c#通讯时主要是读取其中数据块的数据。根据图中步骤直接创建一个数据库即可。名称随意

plc与c#中主要类型介绍:

代码有介绍。其他的都是普通的类型

    //plc中类型与c#类型 bool => Bit
    //Byte => byte
    //word => ushort
    //DWord => uint
    //Int => short
    //DInt => int
    //Real => float
    //LReal => double
    //String => string       //string只能存ascii码
    //DateTimeLong=>datetime
    //s7wstring=>string      //wstring可以存中文   占用字符是string的两倍

直接在界面上设置好值:

其中需要特别说明的是db12  这是他的名字可以随意写。

类型array的意思是  例:Array[0..1] of Int    一个数组,下标从0开始,有两个子项。是int类型

图中db12[0]就是第一个值。在后面的起始值双击可以直接设置

以上就是博途软件数据的添加方法。至于具体的使用方法可以去找一下视频教程

连接仿真

设置博途访问权限

这一步比较关键,而且容易出现很多bug

第一   打开电脑

你会发现多了一个虚拟网卡,名称以Siemens开头的。这是仿真软件为你安装的一个虚拟网卡。

本地plc通讯使用这个

右键》属性

勾选第一个。双击第二个

勾选使用下面的ip地址:

其中ip地址推荐使用192.168.xx.dd

xx推荐写不大于100的地址。dd同理。数字过大也可能会出现一些奇奇怪怪的问题

子网掩码255.255.255.0即可。不用改。     设置好之后点击保存

第二   打开博途软件

找到  设备和网络》双击2   那个绿色的小点。在下面会有设置ip地址。将ip地址设置的和在虚拟网卡中一致。最后一段比虚拟网卡中大一点

例如虚拟网卡中是192.168.43.a            那么这里最好是192.168.43.a+1      最后一位最好要大一点并且一定不能一致,这里很重要。

第三:勾选块支持仿真

点击项目》右键找到属性》点击保护》勾选块编译时支持仿真》点击确定

第四   设置访问权限

点击设备》右键属性》常规》保护plc组态设备》取消勾选      先不要点确定

访问级别》 选择完全访问》

连接机制》勾选允许put/get访问》取消安全通信》点击确定

这里就是让c#能连接到我们的plc。

这里再除了勾选put/get访问权限(非常重要),其他的我再打开设备的时候就提过一次。在打开视图的时候能取消的都取消。

第五  取消数据块访问优化

找到程序块》数据块》右键属性》常规》取消   优化的块访问 数据库从opc ua可访问  两项

到此博途的设置就结束了

 启动仿真软件 advanced  v5

界面大概长这样

首先打开tcp/ip 连接。plc通讯是基于tcp的

数字表示左侧的意思

1:打开tcp/ip连接

2:local表示本地。用虚拟网卡选择这个,如果是用的以太网可以勾选。不过上面的ip地址也要改成以太网的iop地址。不做赘述

3:连接名称  随意写,不重复即可,建议用日期

4:写在博途软件中设置的地址。(这里一定要一致

5:与上一致

6:表示型号,这里以1500举例。需要和博途软件选择的设备一致

7:开启

启动之后:

这里开始会有问题

绿:正常      黄:等待      红:报错

三个灯  第一个表示:是否正常运行

第二个表示plc有错误

第三个表示电源(仿真中基本不会有问题)

打开之后第一个灯是黄色和绿色都属于正常。

这里容易出现的问题:第二个灯一直不停的闪红灯

解决方法1:查看虚拟网卡的ip是否与仿真软件设置的一致。如果一致就会报错 。仿真软件的IP需要与博途的ip一致。不能与网卡的IP一致

解决方法2:将授权文件删除。重新授权。选择”网络中的浮动地址“即可。其中已授权文件夹名为“ax nf zz”。需要先删除,具体怎么删除可以百度

推荐使用Everything软件删除      voidtools

解决方法3:删掉360,火绒等安全软件重装。(非常重要)

直到只有第一个灯是亮的。并且不为红色

下载仿真

以上把环境都准备好了。以上没问题即可进入下一步

手动选择设备》点击下载

选择pnie》选择siemens 虚拟网卡》开始搜索

这个时候非常容易报错

例如:在指定地址未发现设备(检查ip地址是否正确。)

找到两个设备,发现一个不兼容的设备:

解决方案1:打开控制面板》设置小图标》找到设置pg/pc接口

选择serial cable.ppL.1  >下面第三个》点击确定》重新搜索即可

解决方案2:下载工具https://download.csdn.net/download/qq_53217825/88333254

下载之后里面有一个exe文件,安装之后重启即可。安装过程不要改动,一直下一步即可

解决方案3:删掉360,火绒等安全软件重装(只需要重装仿真软件就好)。(非常重要)

上面都操作好了。如果还有问题可以私信或评论。

下载到设备

直道没有bug》点击下载

点击连接

点击装载

点击完成

这个时候仿真软件第一个灯亮绿色

如果是其他情况表示有bug。

跟着以上操作博途软件的设置基本完成。

c#使用s7netplus通讯

打开vs。添加一个控制台程序     (这只是一个例子,具体添加任意类型的程序都可)

引入nuget包:S7netplus

根据以下进行连接即可。

Plc plc = new Plc(CpuType.S71500, "192.168.43.14" + "", 0, 1);//机架号,插槽号通常为0和1   ip写仿真软件中设置的ip。

plc.Open();//打开plc连接
if (plc.IsConnected)   //判断是否成功
{
    Console.WriteLine("PLC连接成功");
}
plc.Close();//关闭连接

关于c#读取数据请查看我另一篇文章:http://t.csdn.cn/92rfL

### 回答1: ABB工业机器人是一种应用广泛的工业机器人品牌,其二次开发应用源码主要指的是对ABB机器人进行定制化开发和应用的源代码。二次开发是指在ABB机器人原有的功能基础上进行二次开发,添加新的功能或改良现有功能,以满足特定的生产需求。而应用源码则是指已经开发好的可直接应用于ABB机器人的源代码。 ABB工业机器人二次开发应用源码的应用领域非常广泛。比如,在汽车制造行业中,可以利用二次开发应用源码来实现自动化的汽车焊接、装配等工序;在电子制造行业中,可以利用源码来实现机器人的精密组装、测试等操作;在食品加工行业中,可以利用源码来实现机器人的分拣、包装等作业;在医疗领域中,可以利用源码来实现机器人的手术辅助等操作。 通过ABB工业机器人的二次开发应用源码,企业可以根据自身的需求和特定的生产环境,对机器人进行个性化定制,提高生产效率和产品质量。此外,ABB还提供了一系列开发工具和教程,帮助开发者更好地进行二次开发应用源码的使用。 总之,ABB工业机器人的二次开发应用源码是一种强大的工具,能够实现机器人在不同行业和领域的个性化定制应用,对于推动工业自动化和智能制造具有重要意义。 ### 回答2: ABB工业机器人二次开发应用涉及到对ABB工业机器人的源码进行修改和应用。ABB工业机器人是一种先进的自动化设备,可以广泛应用于制造业等领域。 二次开发是指在ABB工业机器人原有的功能基础上进行扩展和改进,以满足特定需求。对于源码的修改可以包括添加新的功能模块、优化算法和接口等。这样可以实现更加智能化、高效化和灵活化的应用。 源码的二次开发可以更好地适应用户的定制化需求。比如在某些特定的生产场景下,ABB工业机器人原有的功能可能无法完全满足要求,通过对源码进行修改,可以增加新的功能以提高机器人的性能和适用范围。 源码的二次开发还可以促进ABB工业机器人的创新研发。通过对源码的理解和改进,可以发现机器人的潜在问题和不足,并提出相应的解决方案。这有助于不断优化机器人的性能,提高产品的竞争力。 值得注意的是,进行ABB工业机器人二次开发应用涉及到专业知识和技能要求较高。需要具备相关领域的专业知识,熟悉机器人控制系统和编程语言,以及有丰富的机器人开发和应用经验。 总之,ABB工业机器人二次开发应用源码可以实现对机器人的个性化定制和功能扩展,提高机器人的性能和适用范围。这对于推动工业自动化的发展,提升制造业的生产效率具有积极的作用。 ### 回答3: ABB工业机器人二次开发应用源码是指利用ABB工业机器人控制系统进行编程开发,以实现特定功能的源代码。工业机器人二次开发应用源码主要包括以下方面: 1. 机器人运动控制源码:包括机器人的轴运动控制、路径规划、插补算法等。通过编写源码,可以实现机器人的运动控制,使其按照预设的轨迹和速度进行运动。 2. 机器人感知识别源码:包括视觉识别、力传感器数据处理等。通过编写源码,可以实现机器人对周围环境的感知和识别能力,实现对特定物体的抓取、放置等操作。 3. 机器人任务规划调度源码:包括任务调度算法、路径规划算法等。通过编写源码,可以实现机器人的任务规划和调度,使其能够高效地执行多个任务。 4. 机器人外部设备通信源码:包括PLC、传感器、监控系统等的通信协议和接口编程。通过编写源码,可以实现机器人外部设备的数据交互和控制。 5. 机器人用户界面源码:包括人机交互界面的设计和编程。通过编写源码,可以实现机器人用户界面的优化和个性化,提高操作者的使用便捷性。 以上是ABB工业机器人二次开发应用源码的主要方面,通过编写和应用这些源码,可以扩展机器人的功能,实现各种特定的应用需求。当然,具体的应用开发源码还需要根据实际需求进行编写和调试。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dudke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值