一、C# MVC 控制器中的业务逻辑处理
在C#的MVC开发中,控制器是负责处理请求和响应的重要组成部分。除了完成基本的请求路由和视图渲染之外,控制器也承担了处理业务逻辑的任务。
什么是控制器?
在MVC架构中,控制器是模型(Model)和视图(View)之间的桥梁,负责接收用户请求并作出相应的处理。它是MVC模式中的协调者,通过接收和处理用户请求,获取所需数据,并将响应返回给客户端。
为什么要在控制器中处理业务逻辑?
MVC架构的核心理念是将应用程序分割成不同的模块,控制器作为其中一个模块,其主要职责是处理用户输入和输出,以及处理业务逻辑。将业务逻辑封装在控制器中,可以使代码更加模块化、可测试和可维护。
在控制器中处理业务逻辑的好处
当你将业务逻辑放在控制器中处理时,可以获得以下几个好处:
代码的可重用性:通过将业务逻辑封装在控制器中,可以在多个控制器和动作中重复使用,避免了代码冗余。 代码的可测试性:通过使用依赖注入和接口抽象,可以更方便地对控制器进行单元测试,保证代码的质量和可靠性。 代码的可维护性:将业务逻辑与控制器的其它功能分离,可以使代码更清晰、易于理解和维护。 提高开发效率:通过合理地组织和处理业务逻辑,可以使开发人员能够更快速地开发和迭代应用程序。如何在控制器中处理业务逻辑?
在控制器中处理业务逻辑的一般步骤如下:
接收用户请求:控制器通过动作方法接收请求,可以通过参数的方式获取请求的数据。 处理业务逻辑:根据具体的业务需求,编写业务逻辑的代码,可以调用模型层的方法或者其它服务。 返回响应结果:根据业务逻辑的处理结果,可以选择不同的视图进行渲染,并将渲染结果返回给客户端。控制器中的业务逻辑和模型层的区别
在控制器和模型层中都可以处理业务逻辑,但是它们有一些区别:
控制器:主要负责请求处理和响应,处理业务逻辑时更注重与用户交互和视图渲染。 模型层:负责封装和处理数据,处理业务逻辑时更注重与数据的操作和处理。总结
在C#的MVC开发中,控制器不仅负责路由和视图渲染,还承担了处理业务逻辑的重要任务。将业务逻辑封装在控制器中,可以使代码更加模块化、可测试和可维护。合理地处理业务逻辑,可以提高开发效率,保证代码质量,提升用户体验。
感谢您阅读本文,希望对您理解C# MVC中控制器处理业务逻辑有所帮助。
二、业务逻辑概念和事务逻辑概念?
所谓逻辑业务就是如何把数据层的代码结合在一起,从而实现需要的功能事务逻辑概念:事务处理点和数据访问点
三、业务逻辑怎么培养?
1.阅读结构化思维的书,为自己的表达找到框架。推荐阅读《金字塔原理》,书中给出了实操性很强的结构化写作方式,很多教人如何思考和更有逻辑的表达的书其核心观点都来自于这本经久不衰的老培训教材。
2.没事的时候练习一下复述。找点很好的演讲材料或是电视节目,然后以自己的话语来复述出来。在不断的复述练习当中,你会发现自己的表达越来越精炼。
3.想要提高逻辑思维能力,还有一点不可忽视的就是批判性思维,而批判性思维的开端就是要遇事多问为什么。
四、逻辑控制器原理?
逻辑控制器的原理是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
五、业务分析 逻辑
业务分析之逻辑解析
业务分析是企业发展的重要环节,其中逻辑分析是业务分析的核心。在复杂的业务环境中,逻辑分析可以帮助我们更好地理解业务状况,找出问题的关键,并提出有效的解决方案。
首先,我们来了解一下业务分析中的逻辑概念。逻辑是指事物之间的因果关系、时间先后顺序、事物的特征属性等。在业务分析中,逻辑是指各业务环节之间的相互关系,以及业务过程所遵循的规律。通过逻辑分析,我们可以更好地理解业务的运行方式,找出其中的问题,并制定相应的解决方案。
其次,我们来看一下如何进行逻辑分析。首先,我们需要对业务过程进行全面的了解和分析,包括业务流程、业务规则、业务数据等。通过分析这些信息,我们可以了解业务的运行状况,找出其中的问题。其次,我们需要对问题进行深入的分析,找出问题的根源,并制定相应的解决方案。在这个过程中,我们需要运用逻辑思维、推理和判断能力,以得出正确的结论。
最后,我们来讨论一下逻辑分析的重要性。首先,逻辑分析可以帮助我们更好地理解业务状况,找出问题的关键。其次,逻辑分析可以帮助我们制定更加科学合理的解决方案。最后,通过逻辑分析,我们可以提高工作效率和业务质量,从而为企业的发展做出更大的贡献。
总之,逻辑分析是业务分析中不可或缺的一部分。通过逻辑分析,我们可以更好地理解业务状况,找出问题的根源,并提出有效的解决方案。在未来的工作中,我们需要不断地提高自己的逻辑分析能力,以更好地应对各种复杂的业务环境。
六、业务逻辑数据是什么?
业务是指一个实体单元向另一个实体单元提供的服务。
逻辑是指根据已有的信息推出合理的结论的规律。
业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程。
就像你家的规矩–“吃饭前必须洗手”“有客人来要起立”“睡觉前各自说晚安”-就是业务逻辑的生活化实例。
在软件系统架构中,软件一般分为三个层次:表示层、业务逻辑层和数据访问层:
表示层:负责界面和交互;
业务逻辑层:负责定义业务逻辑(规则、工作流、数据完整性等),接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用;
数据访问层:负责数据读取。
七、如何学习可编程逻辑控制器(PLC)?
最近做了一个小机器,有用到PLC和触摸屏,借着这个机会来讲讲关于PLC的一些学习方法。
设备功能比较简单,从画图到组装再到编程都是我一个人完成的,整整花费了我三个月时间,不得不说这年头想赚点钱是真难。
闲话不多说,先看看整体结构。
半自动UV解胶机功能描述:
1、抽屉自动伸缩
2、实时检测光强值(这个设备主要是用于半导体行业晶圆解胶,核心部分是 UVLED光源)
3、充氮气功能
4、光强调节功能
5、计时功能
针对以上这些要求,可以涉及到的PLC相关知识有:
1、单轴控制,抽屉自动伸缩功能我这里没有采用气缸,而是用步进电机+丝杆传动的方式。
2、MODBUS、RS485通讯,光强实时监测功能是通过读取能量计探照头数据得来的,采用的是标准的MODBUS通讯协议。分不清MODBUS协议和RS485协议的同学,可以查查资料了解一下。简单来说,RS485属于硬件层协议,MODBUS属于软件层协议。
3、电磁阀,这个简单,通过控制电磁阀控制氮气的通断;
4、模拟量,光强调节是通过0-10V模拟量输出实现的;
5、计时器、计数器等,有一些计时的功能,需要涉及到计时器和计数器等;
6、I/O口,这是任何PLC都要涉及到的最基础的功能;
7、HMI,触摸屏相关知识;
以上就是这个小机器所涉及到的PLC和触摸屏的主要知识点,麻雀虽小,五脏俱全。说实话即使你去参加PLC培训班,内容比这也多不了多少。
了解了工艺需求,第一步,我们应该做什么?
那肯定是做IO表及工艺流程图,然后再根据IO表中需要的点位及控制轴数来选择对应的PLC。
在这里我选的市面上小设备比较主流的PLC品牌:三菱PLC。你别问我为啥不选西门子,问就是穷,买不起。
PLC型号:FX3GA-24MT
通讯模块:FX3U-485ADP-MB(注意要走MODBUS通讯协议一定要选带MB的这个)
转接板:FX3G-CNV-ADP(通讯模块需要用这个转接板才能连接)
模拟量:FX2N-2DA (本来我想用FX3G-1DA-BD,可是这个只有一个接口,被通讯模块占了,只能含泪买FX2N-2DA了)
HMI:TK6071IP(威纶通,也算是主流的触摸屏了)
以上就是这台设备的配置,还有电机采用的是雷赛的步进电机:57CM23+DM542J;
到这里,硬件差不多已经到位了,接下来就是软件了!
三菱编程软件:GX Works2
有些初入门想学PLC的朋友可能不知道这个软件怎么下载,这里简单提一下:
1、百度去三菱官网
三菱官网2、->资料中心->可编程控制器MELSEC->软件
3、GX Works2->查看->云盘下载(需要注册登录一下)
4、下载完之后就可以安装了,安装之后需要一个ID号,在网上搜一下,选择一个能用的就可以了。这里就不细说了,实在不会就百度或者去抖音搜索,应该有很多博主有教的。
HMI编程软件:EasyBuilder Pro
怎么下载安装这里就不细讲了,可以去威纶通官网自行下载安装。
软件搞定之后接下来就是重头戏------编程了!
一般我都是先写HMI界面,做出来大概是这样子的:
HMI界面简单描述一下工作过程:在自动模式下,可以选择计时和能量两种工作模式。计时模式:按启动之后,抽屉自动缩回,缩回的过程中开始充氮气,三色灯闪烁黄灯。抽屉缩回到位之后,UVLED灯启动,三色灯变绿灯,并且开始倒计时。倒计时结束,抽屉自动伸出,三色灯闪烁黄灯。抽屉伸出到位,三色灯常亮黄灯。
能量模式:按启动之后,抽屉自动缩回,缩回的过程中开始充氮气,三色灯闪烁黄灯。抽屉缩回到位之后,UVLED灯启动,三色灯变绿灯,累计能量与能量设置对比。当累计能量大于设置能量时,抽屉自动伸出,三色灯闪烁黄灯。抽屉伸出到位,三色灯常亮黄灯。
界面写好之后就可以进行PLC编程了!!
关于PLC编程,其实并不难,我基本都是一边查手册一边编程的。关键是要知道去哪里找资料,以及怎么查资料。不要把PLC编程搞得像互联网编程一样,有各种奇技淫巧的东西。PLC属于应用科学,只要能实现功能,不管你采用什么方法都可以。哪怕别人写100行代码可以搞定的东西,你写了500行也没关系,老板不会去看你写了多少东西,老板只会看功能有没有实现。
这里我先着重讲一下通讯部分吧。
关于三菱PLC做MODBUS通讯我也是第一次做,但是我对MODBUS协议比较了解,哪怕没做过我也知道如何想办法解决问题。
我们要用PLC实时读取能量计探头的数据,那么这里能量计肯定是作为MODBUS从站,PLC作为主站。
我们先要查阅能量计通讯手册:
从这里可以看到串口的一些信息:1个起始位、8个数据位、1个停止位、无校验;波特率9600bps;站号:1
由于他们这个手册不是很完备,我问了他们技术,他们采用协议实际上是MODBUS RTU协议。
这个很关键,因为MODBUS协议又分为RTU和ASCll码两种,PLC在设置参数时需要用到。
通讯配置部分已经搞定,接下来是地址映射。
实际上我们需要用到的值有:
1、整数光功率(实时值),用于实时显示光功率大小;
2、整数能量值(累计值),这个是32位的,占两个地址位;
寄存器地址搞清楚之后,就可以开始着手PLC编程了。
PLC怎么编?还是查手册!!!去官网下载FX系列MODBUS通信篇!
FX系列MODBUS通信篇找到特殊数据寄存器!
特殊数据寄存器这里有相关配置,我们这里用的是通道1(为什么是通道1,手册里面有讲!)。
通过手册我们知道,通道1的通讯格式是通过设定D8400的值得来的。这个时候我们再结合能量计探头的串口信息:1个起始位、8个数据位、1个停止位、无校验;波特率9600bps;
计算一下D8400的设定值:
b0:1
b2,b1:0,0
b3:0
b7,b6,b5,b4:1,0,0,0
b12:1
得出D8400=0001 0000 1000 0001(2进制)
即:D8400=K4225=H1081
D8401为通讯协议配置:
b0:1
b4:0
b8:0
所以D8401=K1=H1
得出D8400和D8401的值后就可以正式编程了 !
通讯格式设定M8411是设定MODBUS协议参数的标志位。
通讯格式设定完之后就是实时读取数据了:
读取从站数据ADPRW是MODBUS通讯的专用指令
ADPRW (从站站号:H1) (功能码:H3) (读取起始地址K201)(读取数量K4)(数据存放起始地址D131)
就是将从站中地址为201开始的4个寄存器数据读取到PLC中D131开始的4个寄存器中。
到这里通讯功能已经写完。
码了一下午字,腰酸背痛。感兴趣的朋友们帮忙点点赞,后面有时间我会将其他功能以及如何接线等一一记录下来,供大家参考。
这篇回答还是有一些朋友感兴趣的,那我就接着往下写了,感谢各位的点赞和关注!
接下来写一下单轴控制!
一般控制步进/伺服电机的方式有两种:
1、脉冲+方向
2、总线
一般大型项目,电机数量比较多的情况下是采用总线控制。我们这个因为只有一个轴,就采用脉冲+方向的形式控制。
这里采用的电机是雷赛的57CM23步进电机,驱动器是雷赛的DM542J步进驱动器,雷赛这个品牌还是有一定知名度的,他们家的运动控制卡有很多人用。
57CM23电机的接线很简单,只要把A+、A-、B+、B-接到步进驱动器相应的A+、A-、B+、B-端子上就可以了。
这里我们讲讲步距角和细分,这款电机铭牌上写着这个步进电机的步距角是1.8°。
步距角1.8°的意思是,你每给一个脉冲,电机就旋转1.8°。那么电机旋转一圈是360°,也就是说发200个脉冲电机就旋转一圈。
但是在很多场景中,可能需要控制精度不同,而我们最小的脉冲单位就是一个脉冲,这时候就要用到细分。
细分我们一般是1、2、4、6、8、16、32、64这样的。假设我们的细分数是8,那么就是说我们电机转一圈的脉冲数是200X8=1600个。这个是可以通过计算得来的,但是现在很多的驱动器上都是帮我们算好的,我们只需要设置对应的拨码开关就可以了。
DM542J步进驱动器上图中步进驱动器铭牌的下面这个表格就是细分所对应的电机转一圈所需要的脉冲数量,1细分就是200个脉冲,2细分就是400个脉冲,以此类推。
知道细分和脉冲的关系之后,我们就可以通过丝杆的导程来计算脉冲与距离的关系。
我这边用的丝杆是1605的丝杆,16指的是丝杆的直径是16mm,05就是丝杆的导程,也就是说每旋转一圈丝杆带动负载移动的距离是5mm。
那么假设我们现在设置的细分为8,则走一圈需要的脉冲数是1600,那一个脉冲所走的距离就是5/1600,这个距离就是所谓的脉冲当量。这个概念在很多面试题中都会考,所以初学的朋友们还是应该掌握如何计算脉冲当量。
细分和脉冲当量就讲到这了,接下来讲讲步进驱动器如何接线!
首先这里有一个非常重要的知识点,需要提一下!!!那就是步进驱动器接收脉冲信号是有两种电压的,一个是5V,一个是24V。这里千万别搞错,如果把24V接到5V的驱动器上,会把驱动器烧坏。所以在购买驱动器的时候一定要问清楚供应商,驱动器是24V还是5V的。
PLC一般都是24V的电压输出的,所以在选择驱动器时候尽量选择支持24V脉冲的。当然现在很多驱动器都比较人性化,上面会有5V和24V的拨码开关,可以供客户自行选择。
红色圈起来的地方是24V/5V拨码开关当然如果你不小心买了5V的驱动器也不用慌,还有一个方法可以解决问题,那就是串一个2K左右的电阻就可以了。具体就不细说了,网上资料一大把。
脉冲和方向接线端子,PUL+、PUL-是脉冲,DIR+、DIR-是方向。至于ENA和ALM,这个一个是使能信号,一个是报警信号,这两个端子我一般都不接,所以也不细说。关于使能信号,是在低电平的时候为上使能,高电平的时候掉使能。也就是说你给ENA+、ENA-一个24V的信号,这个时候就是掉使能,你可以手转动电机。否则,电机有电的情况下是无法用手掰动的。
讲了那么多,最后看下如何通过PLC编程给电机发送脉冲吧!
注意不是所有的输出口都能发送脉冲,只有支持高速输出的IO口才能发送脉冲。FX3GA-24MT这款PLC应该是支持两个轴的,能发送脉冲的输出口是Y0和Y1,这个可以通过查询PLC硬件手册知道。
在这里将Y0作为脉冲发送、Y1作为方向控制。
抽屉伸出距离是固定的,所以选择相对位置定位指令DRVI。但是DRVI所能接受的脉冲数是一个16位的,也就是-32768-+32767,0除外。这个不足以满足要求,所以采用DDRVI指令,可以接受一个32位的数据,范围是-999999-+999999,0除外。
相对位置定位指令K-96000是脉冲数,+和-对应的不同方向;
D21是脉冲输出频率,即每秒钟发送的脉冲数量,这个可以换算成速度在触摸屏上显示与设置;
Y0脉冲输出口;
Y1选择方向输出口;
M8029是三菱PLC中指令完成标志位,也就是说当定位指令完成之后,M8029置1,这时候可以通过这个标志位去实现后续的功能。
这里顺便提一下,M8029不仅仅局限于运动指令,其他的指令完成也是用的M8029,例如MODBUS通讯指令ADPRW。
通讯结束标志位M8029抽屉伸出功能已经写好,抽屉收缩功能我用的是脉冲发送指令PLSY。
本来我是想用回零指令,但是发现回零指令在这里并不适用,所以改用了PLSY 指令。
PLSY指令Y1置位,把方向设置为抽屉收缩方向。
X2是一个光电传感器用于捕捉抽屉到位信号,当X2有信号时抽屉停止收缩。
D21还是脉冲频率;
K0这个参数其实是一个脉冲数量的参数,如果填一个确定的脉冲数,例如6400,这表示发送6400个脉冲。但是这里需要通过X2作为到位信号,所以将参数设置为0,表示一直发送脉冲,直到X2得电。
以上,关于单轴控制的内容已经写完。如果对大家有帮助,还请帮忙点点赞,给我点持续更新的动力,谢谢大家!
后续来了,以下是关于威纶通触摸屏编程的内容,有兴趣朋友们可以看看!
威纶触摸屏 怎么编程?应大家的要求,今天买了西门子S7-1200PLC,花了4500多大洋。。。
怎么样去学习西门子plc,先学什么,再学什么?八、业务汇报的思路和逻辑?
工作汇报的基本逻辑
请注意:要相信领导的能力、判断力,别婆婆妈妈——这是基本的原则!在这个原则下才能按照逻辑来汇报!
可以参考的汇报逻辑:
1、对于计划、规划的总体思路、思想的概括性阐述。
这一点是工作汇报第一步要做的!开宗明义,就让领导大致理解自己的整体概况。这能够吸引领导的兴趣度、关注度与重视程度。
2、对于计划、规划的总体目标进行明确
因为,所有的计划、规划,都是服务于某个数字化或者具体的目标的!所以,先要明确自己的目标、任务,最好是数字化、可衡量的目标说明,非常关键。
3、为了达成目标,计划、规划的实施操作策略方法拆解
可以以时间轴的方式进行汇报。详细阐述、汇报自己按照时间阶段划分分别要做什么、达成什么目标等等。让领导清晰的了解你的规划是具有可操作性的。
也可以先讲总目标拆解成不同的版块(因为有些工作,需要很多版块来综合作用完成),分版块的来进行周期性、阶段性汇报。
上面两种情况,可以结合到一起使用。
4、各种资源的需求与需要公司层面支持的说明与申请
只有在说明了你要干什么、怎么干、干完后能够达到什么目标,让大家感受到了它的可操作性,才能谈及你需要什么支持、什么帮助、什么资源配给....
5、汇总性、概括性补充与总结
结合整个汇报内容,对其中的部分关键点进行强化型提及与补充。或者加入此计划的重要性,日常对其他工作、企业发展等等层面的可延伸性。
以上五点是基本的逻辑,可以根据领导能够给与的汇报时间长度、场合等等因素,来调整使用。
九、简述模糊逻辑控制器定义?
模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它是从行为上模仿人的模糊推理和决策过程的一种智能控制方法。
该方法首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的输出量加到执行器上。
十、施耐德逻辑控制器怎么设置?
三面翻控制器功能键使用方法时间设定:按键锁开启后,按下排中间键进入设定状态(初始时:显示__:__)当屏幕左下方出现1NO的字样时,则可按照要设置的开机时间将时间、分钟、星期输入到控制器内,之后再按设定键,这时屏幕的左下方会显示1OFF的字样,则可按照要设置的关机时间将时间、分钟、星期输入到控制器内,设定完成。
如果需要设置多组开关机时间,重复上述操作。洪.海三面翻控制器自动开关机时间最多可设置16组,时间用完将自动转回到时钟状态,若设置未满16组,可以在时间设定完成后,按下排三号时钟键转入时钟状态,设定完成。洪海在此提醒设置自动开关机星期的设置时,如果每天都有设置,一定要将星期设置为1~7全部显示,不能设置有误,否则未显示星期任务,控制器就不会执行任务,待设定全部完成后,按左下方手动键,把定时改为手动,完成操作