研选课堂
HOME
研选课堂
正文内容
plc板卡编程 C#如何模拟PLC写起保停控制板卡
发布时间 : 2024-10-07
作者 : 小编
访问数量 : 23
扫码分享至微信

C#如何模拟PLC写起保停控制板卡

想必做过电工、电气工程师的工控人,都很熟悉起保停。对,就是你们熟悉的那个起保停。这个电路应用范围很广,比如电机的启动停止控制,如果我们把这个电路程序能移植到上位机那么已经事半功倍了。

1.我们先分析下什么叫起保停?

起:启动(启动条件)保:保持(自锁条件)停:停止(停止条件)

2.用C#上位机实现PLC起保停,创建项目这里命名为DEMO1

3.从控件工具库中拖拽Button按钮, 分别命名为btnStart和btnStop并把text属性改为启动和停止,并分别创建MouseDown、 MouseUp事件模拟启动按键和停止按键。(双击事件自动创建)

4.从控件工具库中拖拽Label标签 命名为lblState并把text属性改为 今日头条 模拟运行状态

5.从控件工具库中拖拽timer控件 并把Enabled属性改为 true,把触发 周期改为100ms,模拟PLC扫

6.界面效果图

7.按F7进入代码页,大家查看代码注释理解下,不清楚的可以在评论区问我

public FrmMain()

{

InitializeComponent();

stop = true;//这里停止按钮初始化为抬起状态

}

bool start, stop, run;

private void BtnStart_MouseDown(object sender, MouseEventArgs e)

{

//写启动按下

start = true;

}

private void BtnStart_MouseUp(object sender, MouseEventArgs e)

{

//启动按钮抬起

start = false;

}

private void BtnStop_MouseDown(object sender, MouseEventArgs e)

{

//停止按钮按下

stop = false;

}

private void BtnStop_MouseUp(object sender, MouseEventArgs e)

{

//停止按钮抬起

stop = true;

}

//模拟PLC扫描

private void Timer1_Tick(object sender, EventArgs e)

{

run = (start || run) && stop;//启动和运行或一下(并联)再和停止或一下(串联)

lblState.BackColor = run ? Color.Green : Color.Black;//三元表达式 run为真赋值为绿色为假赋值为黑色

}

7.运行效果图

8.这个只是抛砖引玉,这个timer事件是来自UI线程,实时性不靠谱,实际现场我们会创建独立的线程死循环来处理现场IO数据。可以参考下面的写法

public Form1()

{

InitializeComponent();

Thread t1 = new Thread(PLCRUN);//创建一个线程并把 PLC运行方法传入

t1.IsBackground = true;//设为背景线程

t1.Start();//线程开始运行

}

private void PLCRUN()

{

while (true)

{

try

{

#region 输入映像刷新

#endregion

#region PLC逻辑....

#endregion

#region 输出映像刷新

#endregion

Thread.Sleep(1);//CPU强悍实时性要求高可以不sleep

}

catch (Exception ex)

{

//异常捕捉

}

}

}

9.当然起保停还有直接通过if判断实现或者其他方法实现,我这里只是提供是思路,没必要杠。在起保停的逻辑上可以加各种现场控制逻辑,比如延时逻辑 ,计数逻辑,其他与或非逻辑等等。剩下的大家灵活应用。

10.如果用运动板块控制或者项目比较大,建议分层架构,两层三层都可以。

11.篇幅有限,起保停的相关电路我就不画了,PLC的起保停不写了。我相信大家这块非常熟悉了。

END

如果对您有帮助 欢迎关注、评论、点赞转发。定期出C#上位机 电气 PLC 运动板卡 STM32 自动化相关心得应用

ABB数字输出板 DSDI451 57160075A PLC 板卡

ABB数字输出板 DSDI451 57160075A PLC 板卡所有的控制都是由机械或者电气的顺序控制来实现

Java一些计算机科学学位将Java教学作为他们的第一种编程语言。Java从程序员“隐藏”底层的内存功能,这使得它比C更容易编程,但这也意味着你对代码实际做的不太了解。如果您从计算机科学的背景(许多人,特别是在研究中)来到机器人,你可能已经学会了Java。像C#和MATLAB一样,Java是一种解释语言,这意味着它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java的理论是,由于Java虚拟机,您可以在许多不同的机器上使用相同的代码。在实践中,这并不总是奏效,有时会导致代码运行缓慢。然而,Java在机器人的某些部分非常受欢迎,因此你可能需要它。12. PythonPython近年来尤其在机器人技术方面出现了巨大的复苏。其中一个原因可能是Python(和C ++)是ROS中发现的两种主要的编程语言。像Java一样,它是一种解释语言。与Java不同,语言的主要重点是易用性。许多人都认为这样做非常好。Python节省了许多常规的事情,这些事情在编程中花费时间,例如定义和转换变量类型。此外,还有大量免费的图书馆,这意味着当您需要实现一些基本功能时,您不必“重新发明”。并且由于它允许使用C / C ++代码进行简单的绑定,这意味着代码的性能很重的部分可以用这些语言来实现,以避免性能下降。13. C / C ++最后,我们达到机器人技术的第一编程语言!许多人都同意C和C ++是新机器人的好起点。为什么?因为很多硬件库都使用这些语言。它们允许与低级硬件进行交互,允许实时性能和非常成熟的编程语言。这些天,您可能会使用C ++多于C,因为该语言具有更多的功能。C ++基本上是C的扩展。首先学习至少一点C可能是有用的,以便您可以在找到以C编写的硬件库时识别它。C / C ++并不像以前那样简单,比如Python或者MATLAB。使用C实现相同的功能可能需要相当长的时间,并且需要更多的代码行。然而,由于机器人非常依赖于实时性能,机器人的主要特点之一是其通用性,是机器人具有可编程能力是实现这一特点的重要手段。机器人编程必然涉及机器人语言。机器人语言是使用符号来描述机器人动作的方法,它通过对机器人的描述,使机器人按照编程者的意图进行各种操作。机器人语言的产生和发展是与机器人技术的发展以及计算机编程语言的发展紧密相关的。编程系统的核心问题是操作运动控制问题。机器人编程系统以及方法 机器人编程是机器人运动和控制问题的结合点,也是机器人系统最关键的问题之一。当前实用的工业机器人常为离线编程或示教,在调试阶段可以通过示教控制盒对编译好的程序一步一步地进行,调试成功后可投入正式运行。机器人语言操作系统包括3个基本的操作状态:1. 监控状态2. 编程状态3.执行状态监控状态:用来进行整个系统的监督控制。编辑状态:提供操作者编制程序或编辑程序执行状态:用来执行机器人程序把机器人源程序转换成机器码,以便机器人控制柜能直接读取和执行,编译后的程序运行速度将大大加快。根据机器人不同的工作要求,需要不同的编程。编程能力和编程方式有很大的关系,编程方式决定着机器人的适应性和作业能力。随着计算机在工业上的广泛应用,工业机器人的计算机编程变得日益重要。编程语言也是多种多样的,目前工业机器人的编程方式有以下几种:顺序控制的编程 在顺序控制的机器中,所有的控制都是由机械或者电气的顺序控制来实现,一般没有程序设计的要求。顺序控制的灵活性小,这是因为所有的工作过程都已编辑好,由机械挡块,或其他确定的办法所控制。大量的自动机都是在顺序控制下操作的,这种方法的主要优点是成本低、易于控制和操作。示教方式编程 目前,大多数工业机器人都具有采用示教方式来编程的功能。示教方式编程一般可分为手把手示教编程和示教盒示教编程两种方式:1、手把手示教编程:主要用于喷漆、弧焊等要求实现连续轨迹控制的工业机器人示教编程中。具体的方法是利用示教手柄引导末端执行器经过所要求的位置,同时由传感器检测出工业机器人个关节处的坐标值,并由控制系统记录、存储下这些数据信息。实际工作中,工业机器人的控制系统会重复再现示教过的轨迹和操作技能。手把手示教编程也能实现点位控制,与CP控制不同的是它只记录个轨迹程序移动的两端点位置,轨迹的运动速度则按各轨迹程序段应对的功能数据输入。2、示教盒示教编程方式是人工利用示教盒上所具有的各种功能的按钮来驱动工业机器人的各关节轴,按作业所需要的顺序单轴运动或多关节协调运动,完成位置和功能的示教编程。示教盒示教一般用于大型机器人或危险条件作业下的机器人示教。

ABB瑞士 PFTL 201CE-20.0 张力传感器 测力计

ABB瑞士 PFTL 201D-50.0 测力计 张力传感器

ABB瑞士 PFTL 201DE-100.0 张力传感器 测力计

ABB瑞士 PFTL 201DE-50.0 张力传感器 测力计

ABB数字输出板 DSDI451 57160075A PLC 板卡

ABB数字输出板 DSDO301 57160001-CC 驱动器 板卡

ABB数字输出板 DSDO303 57160001-CS PLC 板卡

ABB数字输出板 DSDP140B 57160001-ACX PLC 板卡

ABB数字输出板 DSDP140B 57160001-PU CPU 板卡

ABB数字输出板 DSDP140C 57160001-MP 工作原理 板卡

ABB综合保护继电器 REF543KM127AAAA 电源模块 馈线保护和测控装置

ABB综合保护继电器 REM543CG216AAAA PLC 馈线保护和测控装置

ABB综合保护继电器 REM545BM223AAAA 工作原理 馈线保护和测控装置

ABB综合保护继电器 RET541AB234AAAA 工作原理 馈线保护和测控装置

ABB综合保护继电器 RET541AM231AAAA 电源模块 馈线保护和测控装置

ABB综合保护继电器 RET541AM233AAAA 电源模块 馈线保护和测控装置

ABB综合保护继电器 REX521EHHGLH07E PLC 馈线保护和测控装置

ABB综合保护继电器 REX521GHHGLH07G CPU 馈线保护和测控装置

ABB综合保护继电器 REX521GHHGSH50GDC 220V 电源模块 馈线保护和测控装置

ABB综合保护继电器 SPAA121C PLC 馈线保护和测控装置

AC800M系统主单元 PM864AK01 3BSE018161R1 ABB

ACU-01B 3HNA024871-00102 ABB 优势模块 卡件

AI845 3BSE023675R1 ABB 输入模块 备件

BCU-12 3AUA0000110430 ABB 全系列 备件

CP430T-ETH 1SBP260196R1001 ABB 触摸屏 人机界面

DSAB-01C 接口板 ABB 库存优惠卖

"DSBB110A 57330001-Y 电源模块 ABB"

DSCA114 57510001-AA ABB 通讯板

DSCS131/57310001-LM/DSCS-131 ABB 板子 模块

DSCS150 57520001-FY ABB 板卡 控制器

DSMB127 57360001-HG直流数字量输入模块 可控硅触发板 ABB

DSQC609 3HAC14178-1 PBSE5117 ABB 机器人 备件 模块

DSQC639 3HAC025097-001/16 ABB机器人主板

DSSR122 48990001-NK 电源装置 ABB

FI830F 3BDH000032R1 ABB 控制器模块

GDC801B101 3BHE051592R0101/PCB REV:B ABB

GE美国 IS200EPSMG1ABB 通讯模块 全系列

PFSK?151?DSP信号处理??3BSE018876R1 ABB PFSK151

PP836A 操作面板 3BSE042237R2 触摸屏 ABB

PPE091A101 3BHE044481R0101 3BHE044477P3 ABB

Profibus 通讯模件 CI801 3BSE022366R1 ABB

RF533 3BSE014227R1 ABB 机架

SA811F 3BDH000013R1 ABB 输入输出模块

SA9923a-E HIEE450964R0001 ABB 处理器 模块

SC560 3BSE008105R1 ABB CPU模块 处理器模块

相关问答

什么是工控机,板卡能实现什么样的的功能?

较多,普...工控机种类也比较多,普通机架式的,一体化的(包含屏幕、键盘、主机)等等。跟一般的计算机相比:首先机箱显得比较笨重有些简单的防尘设计;主板不同,...

施耐德plc板卡有哪几种类型?

施耐德PLC主要有以下几种类型:NEZAPLC(TSX08系列)、QuantumPLC(140系列)、MicroPLC(TSX37系列)、PremiumPLC(tsx57系列)。施耐德PLC系列工业...

为什么现在自动化公司,都使用运动板卡而不用plc了?

这个说法有点以偏概全,并没有“都”。不管是使用运动控制卡还是PLC,其实都是殊途同归,都是为了实现某种目的的控制。至于具体到某个项目上究竟采取哪种方案,...

什么是通讯板卡?

扩展模版应该从属于功能模块里,扩展模块是为了使用每种特殊功能而PLCcpu里没有改功能时加装的功能模块。比如输入输出模块,A/D、D/A模块,通讯模块、定位模块等...

电控,除了plc,单片机,运动控制板卡,请问还有什么控制系统?有朋友能详解一下吗?

主要功能有:...电气控制系统的主要功能有:自动控制、保护、监视和测量。它的构成主要有三部分:输入部分比如传感器、开关、按钮等、逻辑部分如继电器、触点等等,...

用组态王制作一个工程一般需要几个步骤

[回答]连接可编程序控制器(PLC)、变频器、直流调速器、仪表等工业控制设备,利用显示屏显示,通过输入单元(如触摸屏、键盘、鼠标等)写入工作参数或输入操作...

三菱plc的扩展模块怎么接线?

这个问题我知道!三菱扩展板直接插在编程口的上面,目前支持的扩展板有:FX2N-232-BD用于RS232通讯FX2N-422-BD用于RS422通讯FX2N-485-BD用于RS485通讯FX2N-8...

PLC与运动控制器有什么区别?

PLC和运动控制器是工业控制领域常见的控制器,二者的使用既有区别,也有相同点。PLC全称为可编程逻辑控制器,广泛应用在工业自动化控制领域,是专门为复杂工业...P...

scada软件介绍?

scada是一款监控组态软件,它不是完整的控制系统,而是位于控制设备之上,侧重于管理的纯软件。SCADA所接的控制设备通常是PLC(可编程控制器),也可以是智能表...

欧姆龙PLC电源灯不亮怎么回事-ZOL问答

那问题很简单,PLC的模式被人改到了编程模式,需要在线用CX-P改回来或者支持手持编程器有用(0)回复xiaolin1475就是主板上的板卡接触不好,好好清理一下有用...

 马鬃蛇  杭州安曼酒店 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部