- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 python socket 非阻塞 linux 环境
python socket 非阻塞 revc 接收数据环境为 windows使用 setblocking(False) 函数将服务器接收模式设置为非阻塞模式,异常处理 BlockingIOError 错误即可,因为 accept 没有在非阻塞模式下没有接收到客户端连接的话会触发 ***BlockingIOError ***这个错误,异常处理抛出即可。import socketimport timeimport threadingip_port = ('127.0.0.1',555
2022-02-19 12:09:25 1088
原创 基于esp32 的modbus转mqtt dtu设计
基于esp32 的modbus转mqtt dtu设计说明目前这个版本的代码实现了eeprom 参数保存,字符串参数设置,将config.h 文件中 eeprom_config_io 定义的引脚拉低进入配置参数模式,发送参数配置字符串即可将参数写入eeprom 将引脚拉高,重启进入运行模式,连接wifi,连接mqtt modbus将数据上传至服务器。modbus层面呢 esp32做modbus从站,可以定义起始寄存器地址,读取的寄存器数量,按照顺序定义寄存器数据上传mqtt的key。但是只能处理整
2021-10-30 14:57:24 5206
原创 c# 读取、写入json文件
c# 读取、写入json文件简介使用 官方的 json net包进行操作Newtonsoft.Jsonjson文件{ "animals":{ "dog":[ {"name":"Rufus","breed":"labrador","count":1,"twoFeet":false}, {"name":"Marty","breed":"whippet","count":1,"twoFeet":false} ], "cat":{"name":"Matilda"}}}c# js
2021-09-29 19:24:37 6619
原创 arduino 官方示例提示不兼容。例如:编译提示库版本兼容avr,不兼容esp32
arduino 官方示例提示不兼容。例如:编译提示库版本兼容avr,不兼容esp32简介在使用 tft_touch 这个库的时候,使用的是esp32的开发板子,arduino软件打开示例,第三方库,会有不相容的选项,不相容里面放置有tft_touch这个第三方库。如果引用了这个库的话,且编译报错,提示不兼容开发板。解决找见有问题的文件夹,用记事本打开library.properties这个这个文件,如下所示,修改里面的 architectures 结构体系选项,默认修改为 * 即可支持所有开发板。
2021-08-22 00:11:12 4133 2
原创 使用OPC DA接口将robotdtudio与西门子sim进行仿真连接
使用OPC DA接口将robotdtudio与西门子sim进行仿真连接简介使用软件博途TIA V16RobotStudio 6.01ABB IRC5 OPC ConfigurationNetToPLCsim使用组件S7.NETOPCDAAUTO.dll操作流程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOmDqyDj-1627527632236)(image/1.png)]设计思路1、配置相应的读取参数2、opc订
2021-07-29 11:24:03 1484
原创 stc51单片机串口接收多字节数据
stc51单片机串口接收多字节数据简介51单片机有2个定时器,一个做串口波特率,一个做数据截止帧延时检测,硬件平台测试使用的是stc8的单片机,但是可以往51移植代码#include "stc8.h"unsigned char flag=0; //定义标志位,用来判断接收了多少个字符void UartInit(void) //9600bps@24.000MHz{ SCON = 0x50; //8位数据,可变波特率 AUXR |= 0x40; //定时器1时钟为Fosc,即1T
2021-06-03 16:53:37 6829
原创 stc单片机做modbus server rtu通信,已封装好库函数
modbus server 库文件 基于stc8单片机测试硬件平台是基于stc8系列单片机进行的测试,这个函数目前只能实现整数类型的数据读取与写入,没法做浮点数通信,且进行数据写入的时候最好是一个地址一个地址的写入,测试是上位机使用modscon进行的测试,数据读取以及一个地址的数据写入都没有问题头文件#ifndef __MODBUS_H__#define __MODBUS_H__#include <stc8.h> //头文件定义,串口发送函数中,SBUF寄存器的头文件/*
2021-04-09 19:13:17 4129 9
原创 opc da client c#的opcda 数据读取
c#读取opcda中的数据,c#写opcclient注意事项确认windows系统使用的是32位系统还是64位,因为使用的动态链接库 OPCautomation.dll 是32位的,如果是使用的64位的系统则需要先进行一下动态链接库的注册,具体操作可以百度添加引用动态链接库using OPCAutomation;定义变量定义变量,分别是opc 服务器、组列表、组、点位组、点位、opc浏览器,opcbrowser 用来枚举已连接的服务器中的点位列表OPCServer kepserver;
2021-03-06 00:56:48 6792 2
原创 51单片机 eeprom 串口
简介按照相应的编码格式,对串口数据进行编码,发送至单片机,单片机对数据进行解析,写入或者读取eeprom,再返回数据至单片机串口。串口读取数据0x03 且只需要传入3个16进制数即可,写入数据0x06,具体不超过255个数据,要想多写入数据,可以将数据长度的值增加到两个16进制数,程序也需要相应改变,对两个16进制数运算,整合成一个16位的数据。地址数据标志数据长度值0x010x030x050x01.0x02…代表单片机的地址,用来区分单片机03是读取数据,06
2021-01-19 17:40:38 1090
原创 c# opcda数据采集mqtt数据转发,
http://note.youdao.com/noteshare?id=238dfcb12fe853fdc3287e0e75c0c4a5
2021-01-18 17:00:34 1122 2
原创 ABB 120 六轴机械手臂编程调试(四) 三菱plc控制器配套程序
硬件三菱fx3n控制器点位表plc输入机器人输出plc输出机器人输入x0do1y0di1x1do2y1di2x2do3y2di3x3do4y3di4x4do5y4di5x5do6y5di6x6do7y6di7y7di8plc输入输入描述plc输出输出描述x10夹取气缸到位y10夹取气缸x11放料气缸到位y11放料气缸x12物料到位
2020-10-17 22:42:30 3526 1
原创 ABB 120 六轴机械手臂编程调试(三)
下一步进行机械手臂的程序编写程序只是进行简单的点位运动,实现抓取功能程序控制的点位表输入点位点位描述输出点位点位描述DI5夹取完成DO5夹取物料DI6物料到位DO6放下物料DI7...
2020-10-17 22:07:48 4622
原创 abb 机械手臂 示例程序
教学设备的示例程序,如有侵权,立删MODULE SX815Q1 CONST robtarget pHomeQ1:=[[396.50,0.00,630.00],[0.499991,0.500009,0.499998,0.500002],[-1,-1,-3,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; PERS num nCountQ1:=1; CONST robtarget pPickQ1:=[[239.65,-314.82,326.41],[0.705409
2020-10-17 21:04:04 2814
原创 ABB 120 六轴机械手臂编程调试(二)
现在通过电脑连接进入控制器,打开以下页面,进行d652数字信号板卡的设置。右击选择新建,参数如图所示另一种新建方式示教器中,控制面板=>配置=>devicenet device 进行添加,使用模板,选择相应的板卡,其相应的板卡信息会自动生成,只需要修改adress,板卡地址这一项即可。这个板卡地址的决定是由板卡内部的端子进行跳线得到的,d652板卡的地址默认是10,更改一下即可打开电脑软件,进行信号的建立以及配置如图页面,右键选择新建,参数如下输入信号:输入信号一共16个
2020-09-24 22:12:29 5239
原创 ABB 120 六轴机械手臂编程调试(一)
硬件平台机器人手臂使用ABB的120型号的六轴机械手臂使用d652板卡与三菱fx3g plc 进行点位数据交互,由plc控制器对机械手臂进行控制。
2020-09-24 21:14:09 13784 4
原创 西门子 SCL 语言 模拟量转换小例程
软硬件平台软件是博图 TIA v15,硬件是西门子300系列 PLC简介使用scl语言编写一个FC子程序,对模拟量进行处理,对模拟数据进行转换。详细介绍添加新块,添加一个FC块,语言选择scl添加变量,输入型变量5个,一个运算后输出变量,3个中间变量,用于计算,存放中间计算结果,IF #in <= #i_min THEN //判断输入值是否低于模拟量设定下限值 #out := #r_min; //输出直接为浮点数设定值下限END_IF;IF #in >
2020-09-22 21:10:18 4941 3
原创 MCGS 根据时间实现动态密码进行登陆
建立三个画面登陆界面,密码错误界面,密码正确界面实时数据库建立点位表点位名称数据类型描述data1数值型按键触发,确认密码输入完成,进行密码登陆校验data2数值型输入控件,存放输入的密码data3数值型小时,读取当前时间中的小时data4数值型分钟,读取当前时间中的分钟data5数值型通过某种算法对时间进行计算得到的密码data数值型对于密码错误窗口进行延时跳转至密码登陆窗口进行重新登陆...
2020-07-11 15:55:37 4964 1
原创 使用 MCGS 脚本实现开机页面倒数三秒跳转功能
创建窗口及组件新建两个窗口,窗口0 与窗口1。其中,窗口0为欢迎界面,窗口1为跳转后界面。在窗口0界面中,添加一个输入框,以方便观看数据的计时情况。实际工程中,是插入图片,以显示欢迎界面。在窗口1 中,添加文本“跳转成功!”创建变量在实时数据库中,新建一个变量,data1 数值型。编写脚本打开用户窗口,选中窗口0,首先窗口属性中的启动脚本,即打开这页面就运行的脚本。编写脚本。Data1 = 3即对变量 data1 进行赋值,窗口0打开就将data1的值变为 3 (因为是3秒倒计时
2020-07-09 22:21:09 9467 1
原创 西门子smart 与 MM420 使用uss协议进行简单的启停控制
**西门子200smart MM420 uss协议通信*一、MM420变频器1、进行恢复出厂设置P0010 = 30P0970 = 12、设置电机参数,根据变频器说明书,参照电机参数进行调试。3、设置uss通讯协议参数变频器参数设定值功能说明P07005选择命令源(COM 链路的USS设置)P10005频率源(COM 链路的USS设置)P20090USS规格化P20106USS波特率(6-9600)P201118站点的地址
2020-07-08 22:22:40 3193
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人