西门子PLC-1200
文章平均质量分 54
老王工控笔记
这个作者很懒,什么都没留下…
展开
-
伺服受到干扰?丢脉冲?到底是什么现象?请看这里。。。。
伺服受到干扰?丢脉冲?到底是什么现象?请看这里。。。。最近有个项目,是用三菱q系列的plc连接伺服电机做个两轴联动的运动控制系统。在这个系统中,硬件我选用的是三菱的qd75p2定位模块,伺服电机是三菱的j3-100a系列的两台。此系统我设计的是绝对位置控制。我按照手册上模块与电机的说明与接线图接线后,进行了调试。在手动时,发现电机在低转速时有不均匀现象,就好像步进电机的一顿一顿的那样,更奇怪的是,在给定相同的手动速度时,正转与反转的速度表现出来明显的不一样。后来又发现,每当定位完成后,我给系统断电,再上原创 2022-01-05 18:17:52 · 3652 阅读 · 0 评论 -
西门子PLC的P#指针说明
西门子PLC的P#指针说明当Variant类型的实参指向形如P#DB1.DBX0.0 BYTE 10,指令内部将判断该形参为一个10字节的数组。------------------------------------------------------------------------------------------指针结构--------------------------------------------------------------------------------------原创 2021-10-22 09:40:42 · 39793 阅读 · 1 评论 -
西门子1200跟V90伺服总线通讯②_设置PLC
西门子1200跟V90伺服总线通讯②_设置PLC这一章主要说一下PLC这边的组态1.0 首先从官网下载GSD文件,然后打开博途软件,选项--管理通用站描述文件,里面就是安装GSD文件的,在源路径设置GSD放置的位置,然后选择需要的安装GSD2.0 硬件组态把PLC 伺服 HMI进行硬件组态,都连接起来3.0 伺服硬件参数设置需要设置V90伺服的IP,设备名,报文结构,都要与在V90驱动上设置的一样(另外可以看到报文对应的输入输出,可以根据程序灵活配置)...原创 2021-03-17 09:31:13 · 3148 阅读 · 0 评论 -
西门子1200跟V90伺服总线通讯①_设置V90
西门子1200跟V90伺服总线通讯①_设置V90 首先这里选用的是西门子1200系列PLC,和V90PN的总线通讯驱动器电机。 下载一个V-ASSISTANT调试软件,如下图,先设定驱动器型号,电机型号 下面是选择PROFINET的报文,这里记得看下手册,报文要对应伺服控制模式和传输字节数,如下图一个PZD对应PLC的一个字16位,对应到输入输出点就是2个字节,每个报文都有固定的结构,需要根据报文内容来解析PLC接收到的数据 2.1 比如下图是一个速度控...原创 2021-03-08 13:10:19 · 4953 阅读 · 0 评论 -
Access/MySQL/SQLserver数据库的区别
Access/MySQL/SQLserver数据库的区别Access是一种桌面/文件数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。提供由于其体积小、速..原创 2020-11-27 09:04:56 · 1447 阅读 · 2 评论 -
西门子PLC1200-组态王跟Access数据库--⑩查询数据库
西门子PLC1200-组态王跟Access数据库--⑩查询数据库查询固定数据1.0 打开之前的界面,增加一个查询日期栏中2020/11/9号的记录的按钮按钮的命令语言如下:Ctrl0.Where=" 日期 = '2020/11/9' " ;//搜索数据,注意单引号内的数据不允许有空格,因为空格在字符串中也会存在Ctrl0.FetchData( );//取出数据Ctrl0.FetchEnd( );//读取结束2.0 在做一个文本,用来查询当前搜索的条件,方便调试3.原创 2020-11-13 09:18:32 · 1104 阅读 · 0 评论 -
西门子PLC1200-组态王跟Access数据库--⑧组态王测试
西门子PLC1200-组态王跟Access数据库--⑧组态王测试组态王界面及测试1.0 应用程序命令语言设置,双击打开,会看到启动时,运行时,停止时,启动时就是当程序启动的时候,启动命令语言,运行时就是运行过程中触发,停止就是停止组态王的时候触发2.0 这边我们把数据库连接,就是当组态王启动时,就自动链接,停止时自动退出,所有启动时的命令语言应该是SQLConnect( \\本站点\DeviceID, "dsn=mysql;uid=;pwd=");而停止时,断开链接的应该是:SQL.原创 2020-11-05 08:52:47 · 559 阅读 · 0 评论 -
西门子PLC1200,组态王跟Access数据库--⑦组态王界面
西门子PLC1200,组态王跟Access数据库--⑦组态王界面组态王界面及测试补充下前面说的变量设置,这里要注意整型实数都是DB块加地址,但是字符串的格式应该是DBx.y.z,x为DB块,y为开始字符串开始地址,z为字符串长度,如果不写字符串长度也不会报错,但是读写会失败还有西门子PLC要注意要打开PUT/GET访问权限,不然甲酸IP地址正确,测试设备也会提示检查通讯参数或者初始化失败1.0 进入组态王画面,添加圆形,然后双击,打开填充属性2.0 表达式,点击后面的问.原创 2020-11-03 08:53:05 · 875 阅读 · 0 评论 -
西门子PLC-1200的基于232串口的Modbus RTU通讯实例
西门子PLC-1200的基于232串口的Modbus RTU通讯实例这里先讲一下Modbus和232,232和485串口是一种串口接法,这种接法实际能实现十几种的协议通讯,有基于串口的Modbus RTU,Modbus+,有基于以太网接口的Modbus tcp/ip和Modbus通讯协议,我们这边说的只是基于232串口通讯的Modbus RTU通信这里要讲的是一个简单的Modbus RTU通讯的小实例,就是对通过232串口,对一个称重传感器实时读取参数,从而判断是否需要加料1.0 直接.原创 2020-09-29 08:53:30 · 10128 阅读 · 0 评论 -
西门子PLC1200的S7通讯(同一项目下)--通讯测试
西门子PLC1200的S7通讯(同一项目下)--通讯测试前面两篇介绍了S7连接的主要指令PUT写入和GET读取,这期讲测试下这个指令,首先说下有两个注意,一个是如下图要设置组态,有绿色勾选的就说明没大问题,这里要注意连接名称要统一,用同一个连接,因为不同的连接会造成不同的ID设置,另外主动建立连接只能作为客户端的勾选,服务端不需要勾选,第二张图要勾选S7通信访问许可1.0 S7通讯测试,可以直接仿真测试,如下图,同时监控PLC_1和PLC_2的两个data数据块,我们可以看到PLC1的.原创 2020-09-28 08:59:41 · 2278 阅读 · 0 评论 -
西门子PLC1200的S7通讯(同一项目下)--PUT写入指令
西门子PLC1200的S7通讯(同一项目下)--PUT写入指令上期主要讲了S7通讯连接的GET读取指令,如下图,用指针制定需要从伙伴PLC哪个位置读取,然后放到本地PLC的哪个位置本期说一下S7连接的另一个关键写入指令PUT1.0 接下来我们解读下这个PUT指令块REQ:控制参数request,当上升沿时,启动写入数据ID:需要匹配伙伴连接的对象的寻址参数ADDR_1:指向伙伴PLC上需要写入的目标DB块,起始地址,数据长度,数据类型RD_1:指向待写入的本地..原创 2020-09-27 08:43:09 · 6621 阅读 · 1 评论 -
西门子PLC1200的S7通讯(同一项目下)--GET接收指令
西门子PLC1200的S7通讯(同一项目下)--GET接收指令1.0 首先在同一项目下,组态两个PL,如下图,组态了2个1200PLC 1214C的PLC2.0 点击链接里面,在窗口的右上角选择S7连接,这个窗口可以看到本地ID,和主动建立连接勾选,然后选择添加,下面的信息框就会显示已添加2.1 如下图,就是建立S7连接后的组态3.0 然后在每个PLC的程序下,新建两个接收数据块和发送数据块,然后每个数据块设定100个字节的发送和接收区,并且找到数据块属性,把优化访问勾选去掉.原创 2020-09-25 17:09:38 · 6213 阅读 · 0 评论 -
博途--库的使用
博途--库的使用1.0 如下图,先说说这个库的大概使用方式,首先从项目程序中,编程一个自定义FB功能块,然后可以把他直接拖动到项目库中,生成这个项目专门使用的库1.1 另外每个库文件你可以看到都分为两类,一种是类型库,一种是主模板,像上面说到的自定义FB功能库程序是放在类型库下的,主模块下放什么呢?是放硬件组态的,比如组态的IO,GPS硬件等都可以拖动到下面,直接调用就可以2.0 那怎么把项目库编程全局库,让每个程序都能调用呢?如下操作就可以了,在项目库中,右键需要添加到全局库中..原创 2020-09-22 12:42:40 · 13821 阅读 · 1 评论 -
西门子PLC的TCP通讯(不同项目下)④--TCP测试
西门子PLC的TCP通讯(不同项目下)④--TCP测试上期我们对TSEND_C和TRCV_C组合指令,进行了TCP测试,先置位接收端的EN_R和CONT,然后置位发送端的CONT,然后看到STATUS指令状态显示7004,然后又通过T_DAIG测试连接指令,读取的参数STATE为04,表示连接已建立本期将开始进行,TSEND_C和TRCV_C组合指令的读取及接收测试1.0 首先给发送数据块里面,强制写上数据,我们DATA限定的是10个字节长度,LEN默认为0的时候应该以DATA长..原创 2020-09-21 08:52:40 · 3598 阅读 · 0 评论 -
西门子PLC的TCP通讯(不同项目下)③--TCP测试
西门子PLC的TCP通讯(不同项目下)③--TCP测试上期主要了解了TRCV_C指令的各项参数的意义,如下图本期将把前面讲的TSEND_C和TRCV_C组合测试,大概准备情况先说下,2个西门子1200PLC,每个PLC放一组TSEND_C和TRCV_C指令组合,再放一个T_DIAG测试连接指令,然后网线连接,最好用个交换机,下面开始测试1.0 如下图,把192.168.0.110作为客户端,192.168.0.170作为服务端,由110作为主动连接端2.0 首先在110服..原创 2020-09-18 10:43:39 · 4361 阅读 · 1 评论 -
西门子PLC的TCP通讯(不同项目下)②--TRCV_C指令
西门子PLC的TCP通讯(不同项目下)②--TRCV_C指令上期主要了解了TSEND_C指令的各项参数的意义,隐藏参数LEN等可以默认本期将了解另一个配套组合指令块TRCV_C,这是个接收指令块,大概呢跟发送指令TSEND_C差不多1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TRCV_C拖动到程序1中,如下图2.0 下面说下具体这个指令块的参数设置EN_R:启用接收功能,可以默认为1CONT:当为0时断开通信连接,当为1时建立并保持通讯连接..原创 2020-09-17 12:24:46 · 5967 阅读 · 0 评论 -
西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令
西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令本期说一下,不同项目下的,连个西门子1200的TCP通讯,这次我们用TSEND_C和TRCV_C组合使用,这次先了解下TSEND_C指令是大概啥样的1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TSEND_C拖动到程序1中,如下图2.0 下面说下具体这个指令块的参数设置REQ:指的是上升沿触发,发送作业,跟建立通讯无关,这个就是跟之前TSEND的区别!ID:是指向已分配连接的指向CONT:..原创 2020-09-16 17:05:23 · 13071 阅读 · 0 评论 -
天太国产机器人实例调试笔记
天太国产机器人实例调试笔记国产机器人抛开性能因素,如果精度要求不高的话还是蛮划算的,而且在产品使用上上手还是很快的,资料也很齐全,这里我们拿一个项目实例来大概说下具体指令的用法,首先说一下这个大概动作逻辑,一个小的震动盘,把一些塑料件振开,然后通过上位机视觉拍照,发送坐标给机器人,机器人拾取到另一个工位1.0 如下图,我们这里按程序序号说下去,这一段主要是写通讯的建立序号1说的是关闭通讯名称为STR1的通讯,序号2:打开SRTR1的客户端通讯序号4-5:是程序内跳转步号..原创 2020-09-15 16:00:25 · 397 阅读 · 0 评论 -
两个西门子PLC1200之间的TCP通讯④--TCP测试
两个西门子PLC1200之间的TCP通讯④--TCP测试上几期大概说了下TCP需要用到的指令块,TCON连接指令,TSEND发送指令,TRCV接收指令这3个指令构成了TCP的基础这期将介绍正式测试TCP这个程序,发现一些实际调试出现的问题1.0 先建立链接,首先作为客户端的PLC2,指令TCON的REQ必须为1,被动连接使能要开启,也可以直接写12.0 作为服务器端的PLC1,他的TCON指令,REQ触发上升沿(前提是客户端已开启接收连接),正常的话DONE会置位一个周期,这..原创 2020-09-14 12:39:56 · 1339 阅读 · 0 评论 -
两个西门子PLC1200之间的TCP通讯③--TRCV接收指令块
两个西门子PLC1200之间的TCP通讯③--TRCV接收指令块上期主要是说了TSEND指令块,说明了每个位的作用,和大概的设置,如下图本期将介绍最后一个接收指令块TRCV,跟发送指令块的设置差不多,简单说一下应该就能明白了,下期将开始测试下1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TSEND拖动到程序3中,如下图EN_R:启用接收功能ID:是指向TCON已分配连接的指向,就是TCON是多少这里就写多少LEN:需要接收的数据长度,如果LEN=0就..原创 2020-09-11 09:52:23 · 5021 阅读 · 0 评论 -
两个西门子PLC1200之间的TCP通讯②--TSEND
两个西门子PLC1200之间的TCP通讯②--TSEND上期主要是说了TCON指令块,说明了每个位的作用,和大概的设置,如下图本期补充一个关于TCON的内容,就是捕捉状态代码和建立连接成功的DONE标志,用来识别连接,然后在说一下发送指令块TSEND补充:如下图,捕捉状态参数状态,一个是当error错误时,捕获错误代码,一个是当DONE完成时,捕获连接完成的标志1.0 从右边指令栏--通信--开放式用户通讯--其他,选择TSEND拖动到程序2中,如下图REQ:指的..原创 2021-02-03 17:19:38 · 3791 阅读 · 0 评论 -
西门子1200与组态王TCP通讯
西门子1200与组态王TCP通讯1.0 首先打开组态王软件,这里测试用的是6.6版本的2.0 点击菜单栏的新建项目,然后下一步3.0 这一步是选择项目存放的目录,找到存放位置就下一步4.0 接下来就是设置工程名称了,自己根据项目定义5.0 完成以上步骤,你就会看到如下图的项目,然后我们选择菜单栏点击开发6.0 选择演示模式,可以免费用2个小时7.0 演示模式如下图,下面我们要就要组态设备了,看到侧边栏设备双击,然后点击新建,这时候跳出来的对话框,选择.原创 2020-09-07 09:27:04 · 3810 阅读 · 0 评论 -
IP地址
IP地址如果要西门子PLC的TCP/CP协议通讯或者其他的以太网通讯,首先你要知道什么叫IP地址?IP协议是为计算机网络相互连接进行通信而设计的协议,而IP地址就代表了这台设备或计算机上网的门牌号地址,而且这个地址是唯一的,别人要跟你通讯,首先要知道你的地址门牌号,才能给你寄信或者访问你。IP地址是一个32位的二进制数,他由4个字节组成,即4个8位二进制数,中间用顿号隔开,比如我们常见的路由器默认IP地址就是192.169.0.1我们现在使用的IP地址是基于IPV4的生成的.每个段.原创 2020-09-04 11:09:16 · 906 阅读 · 0 评论 -
MSP430_IAR软件的字体和颜色设置
MSP430_IAR软件的字体和颜色设置IAR软件本身自带的字体的颜色比较单一,这里可以自定义设置下,这里简单给大家介绍下,可以参考下,做好后大概是这样的1.0 打开工具栏的Tools,选择如下图的Options,会跳出一个设置窗口2.0 5.4版本的时这样的3.0 先选择Editor,然后勾选show line numbers(显示行号),这是个很实用的功能,当你在沟通代码的时候就会比较方便了4.0 然后点开+,目录下有colors and fonts,这边就是设.原创 2020-08-14 11:05:53 · 1411 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑫-参数
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑫-参数上期回顾(上期主要是对IO监控的输入输出做了调试,基本上都能达到要求)如下图:本期要在补充说一个参数修改,这是作为PLC上位机也经常用的一个,你要是看了之前的文章,还是比较简单的1.0 这里简单的复制下,上面的IO监控注释条,如下图,基本上不用怎么改,记住这个名字就行了,当然最好改一个你对应的参数名字,这样会方便后期读2.0 这里要设置个响应程序,就是当Text内容被修改后,这个..原创 2020-08-13 08:53:08 · 635 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑪-IO
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑪-IO上期回顾(上期主要是是做一个手动强制输出的按钮,让C#界面能够手动控制PLC的输出)本期将对代码进行调试,并且补充说下PLC的设置1.0 PLC那边我们需要做些什么呢,首先建个手动DB块,这里我定义了DB3的数据块,然后新建几个字节的变量,名字的话可以根据具体输出的定义,这样更清晰一点2.0 然后再把手动变量,来控制PLC的输出,这样当我们C#改变变量的值时,就会强制输出Q点了.原创 2020-08-12 09:24:23 · 524 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑩-IO
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑩-IO上期回顾(上期主要是对读取PLC的IO状态进行了调试测试,可以看到当PLC有输入输出时,相应点位会显示绿色指示灯,这样就实现了IO的监控)本期将做一个手动强制输出的功能,让C#界面能够手动控制PLC的各种输出1.0 切换到窗口界面,左上角的工具箱,选择button添加一个,然后修改参数,(Name) = Q0_0_ENSize = 75,23Text = 打开/关闭像这样的依次.原创 2020-08-11 09:06:32 · 1470 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑨-IO
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑨-IO上期回顾(上期主要是对PLC的输出监控代码进行了编写,让其在定时器响应程序中,不断实时读取PLC,到这里IO监控的输入输出读取都已经实现了)本期将调试下,看是不是能实时读取到PLC输入输出的状态1.0 先看下我们前面制作的界面,大体上是这样的2.0 然后我们的代码应该是这样的private void timer1_Tick(object sender, EventArgs e)..原创 2020-08-10 10:19:14 · 557 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑧-IO
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑧-IO上期回顾(上期主要是对PLC的输入监控代码进行了编写,让其在定时器响应程序中,不断实时读取PLC)本期将对PLC的输出大概讲一下,其实跟输入的读取基本上是一样的1.0 选择窗体界面,双击timer1,进入定时器响应程序,跟前面输入的时候一样,利用定时器响应程序,是用来循环读取PLC的输入输出状态2.0 这里用Q0.0 和Q0.1来举例,源代码如下,建立通讯都一样,前面读取PLC数据块的.原创 2020-08-07 09:38:21 · 1495 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑦-IO
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑦-IO上期回顾(上期主要是对PLC的输入输出的监控,进行界面的框架的编辑,如下图)本期将对IO监控的画面,赋予其灵魂,编写代码,让其能够读取PLC的状态1.0 选择窗体界面,双击timer1,进入定时器响应程序,前面应该也应用了响应程序,是用来循环读取数据块的OK和NOK计数的2.0 这里用I0.0 和I0.1来举例,源代码如下,建立通讯都一样,前面读取PLC数据块的时候已经建过了,那就不用.原创 2020-08-06 09:08:52 · 1109 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑥-数据
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑥-数据上期回顾(上期主要是对PLC数据块DB1的OK计数和NOK技术数据,读取到电脑上,在C#上显示,书写了代码,并且调试OK)本期将接下去讲IO监控的界面,怎么去批量监控PLC的输入输出,然后再去强制输出1.0 刚开始都一样,先搭框架界面,切换到窗体界面,选择工具栏--公共控件,找到TextBox,双击,然后修改属性如下Text = I0.0TextAlign = Centar2..原创 2020-08-05 14:00:30 · 690 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑤-数据
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑤-数据上期回顾(上期主要是对PLC数据块DB1的OK计数和NOK技术数据,读取到电脑上,在C#上显示,上期主要是做了界面)本期将对上次做的界面控件,赋予生命,写代码1.0 双击定时器timer1,在定时器响应程序中,添加代码//****************************** var buffer3 = new byte[8]; /...原创 2020-08-04 08:35:13 · 1164 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面④-数据
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面④-数据上期回顾(上期主要是对启动,停止,复位,清零等按钮复杂的代码进行缩编,简化代码方便阅览)本期将对PLC的OK和NOK数据进行读取显示,这两个变量在PLC的DB1数据块1.0 先创建两个标签,左边工具箱--公共控件--Lable,双击创建4个,两个当作标识文本,另两个当作数据读取框,先看下标识文本的属性的设置font = 宋体,12ptSize = 81,23Text = OK_co.原创 2020-08-03 10:00:37 · 739 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面③-按钮
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面③-按钮上期回顾(上期主要是对启动,停止,复位,清零按钮等进行了代码功能的编写,功能简单,但是实现的比较复杂)本期将对上面讲过的复杂的代码进行瘦身,用一个更简单的代码来替代,是代码的可读性更强1.0 这里我们可以能够新建一个方法,然后调用方法来解决代码臃肿的问题,这样就简单一点,怎么写呢?代码差不多,就是换个门头,具体源代码如下:大概解释下,首先这个门头,我们新建一个无返回值的的方法,因为我们现在.原创 2020-08-01 08:05:17 · 778 阅读 · 0 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面②-按钮
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面②-按钮上期回顾(上期主要是新建项目,然后创建窗体程序,添加sharp7的类库,先建立了几个按钮启动,停止,复位,清零)本期就要开始对这几个基本操作按钮赋予功能了1.0 双击button按钮启动,生成按钮代码,正常事这样写的,建立通讯,新建缓冲区,然后设置目标数据格式,发送,源代码如下:private void button1_Click(object sender, EventArgs e).原创 2020-07-31 13:33:31 · 840 阅读 · 1 评论 -
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面①-立项
VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面①-立项前面大概讲了C#读取PLC的几个要点,这期开始试着做一个简单的上位机操控界面,有IO监控,强制输出,启动停止复位清零按钮功能,数据计数读取1.0 跟之前一样,新建--项目--这里选择窗体应用程序,名称改为FormControl2.0 后面就跟之前讲过的一样,文件--添加--项目(2010版本的是这样,2015的可以直接右键添加项目),选择类库命名sharp7,把sharp.cs文件拖到这..原创 2020-07-30 14:43:03 · 2453 阅读 · 11 评论 -
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑪--循环读取
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑪--循环读取上期回顾(上期完成了IO监控的输出的监控的代码编写,分别监控Q0.0,Q0.1,Q0.2,Q1.0):前面几期已经把PLC输入输出监控的C#代码都写完了,这期我们看下PLC那边需要做点什么,然后开始调试1.0 简单点,直接在Main函数块中,写如下图,放几个辅助触点,后面放Q0.0,Q0.1,Q0.2,Q1.0的线圈,用来调试各个输出2.0 输入调试的话,只能硬接线了,接好COM口.原创 2020-07-29 09:25:28 · 434 阅读 · 0 评论 -
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑩--循环读取
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑩--循环读取上期回顾(上期完成了IO监控的输入的监控的代码编写,分别监控I0.0,I0.1,I0.2,I1.0):本期我们说一下PLC输入输出监控的,输出状态的监控,跟输入差不多1.0 跟输入的读取差不多,都是写在定时器响应程序中,接着上次的输入读取,先新建缓存区,记得这个区域要跟输入区别,不能用同样的缓存区,另外输出的读取,这里调用的是ABRead的方法,这里仍旧从地址0开始读取2个字节的数据,就相.原创 2020-07-28 15:17:05 · 525 阅读 · 0 评论 -
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑨--循环读取
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑨--循环读取上期回顾(上期完成了IO监控的窗体界面的搭建,做了文本注释,以及状态框):本期我们说一下怎么把PLC的输入输出,捕捉到C#窗体上显示监控状态,上次搭好框架后,这期就开始写代码了1.0 这里需要调用EBRead的方法,这个方法是读取PLC输入地址数据的,这里从0开始到1的2个字节,共16位相当于I0.0~I1.7var buffer = new byte[2]; ...原创 2020-07-27 08:58:56 · 435 阅读 · 0 评论 -
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑧--循环读取
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑧--循环读取上期回顾(上期完成了PLC的Real变量以及其他数据类型,循环周期的读取):本期我们说一下怎么把PLC的输入输出,捕捉到C#窗体上显示监控状态,这期先做下窗体界面1.0 切换到窗体界面,选择工具栏--公共控件,找到TextBox,双击,然后修改属性如下Text = I0.0TextAlign = Centar2.0 然后在左边的工具栏--公共控件,选择控件Lable,双击添.原创 2020-07-25 07:49:29 · 445 阅读 · 0 评论