多线程仿三菱

2024-03-23 13:32
文章标签 多线程 三菱

本文主要是介绍多线程仿三菱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

from threading import Thread
import serial
from time import sleep
from threading import Thread
import cv2

port= serial.Serial(“COM1”,9600,parity=serial.PARITY_EVEN,stopbits= serial.STOPBITS_ONE,bytesize=7)
camera = cv2.VideoCapture(0)
img = None
datas = [0x02, 0x30, 0x30, 0x31, 0x31, 0x46, 0x30, 0x31, 0x03, 0x36, 0x43]
def Sum_Check(datas):
if (len(datas) ==0):
return False
sum = 0
for i in range(1,len(datas)-2):
sum+= datas[i]
sum %=256
sum_h = sum//16
sum_l = sum%16
sumcheck_H = 0
sumcheck_L = 0
if sum_h<10:
sumcheck_H = sum_h+0x30
else:
sumcheck_H = sum_h + 0x37
if sum_l<10:
sumcheck_L = sum_l +0x30
else:
sumcheck_L = sum_l + 0x37

if sumcheck_H != datas[len(datas)-2]:return Falseif sumcheck_L != datas[len(datas)-1]:return False
return True'''public static bool check(byte[] data){if (data.Length == 0) return false;if (data == null) return false;int sum = 0;for (int i = 1; i < data.Length - 2; i++){sum += data[i];}sum %= 256;int sum_H = sum / 16;int sum_L = sum % 16;int newsum_h = sum_H < 10 ? sum_H + 0x30 : sum_H + 0x37;int newsum_l = sum_L < 10 ? sum_L + 0x30 : sum_L + 0x37;if (newsum_h != data[data.Length - 2] || newsum_l != data[data.Length - 1]){return false;}return true;}
:return: 
'''

def savepicture():
pass
def main():
if port.isOpen():
port.close()
port.open()
while True:
# print(Thread.name)
if (cv2.waitKey(10) & 0xff) ==ord(‘s’):

        name = input("请输入端口号")if port.isOpen():port.close()port.name=nameport.open()port.write(datas)sleep(1)datas_Receive = port.read(6)str1 = ""for data in datas_Receive:str1+=" 0x"str1+= str(data)# str1 = " 0x".join(datas_Receive)isright = Sum_Check(datas_Receive)if isright:print("数据正确 " + str1)value_h = 0value_l = 0if datas_Receive[1]<0x39:value_h = datas_Receive[1]-0x30else:value_h = datas_Receive[1] - 0x37if datas_Receive[2]<0x39:value_l = datas_Receive[2]-0x30else:value_l = datas_Receive[2] - 0x37intreceive = value_h*16+value_lif(intreceive & 0x08)==0x08:print('开始气泡检测')cv2.imwrite("1.jpg",img)'''int value_h = data[1]<=0x39? data[1] - 0x30:data[1] -0x37;int value_l = data[2] <= 0x39 ? data[2] - 0x30 : data[2] - 0x37;return value_h * 16 + value_l;'''else:print("wrong")# print(str1)# print(datas_Receive)

if name == ‘main’:
thread1 =Thread(target=main)

thread1.start()
# thread1.join()
ret,frame = camera.read()
while True:ret,frame = camera.read()img = cv2.flip(frame,1)cv2.imshow("",img)cv2.waitKey(10)
# main()

这篇关于多线程仿三菱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838446

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir