当前位置: 首页 > news >正文

做彩票网站12306网站谁做的

做彩票网站,12306网站谁做的,源码如何搭建网站,可以做网站目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UA#xff08;Open Platform Communications Unified Architecture#xff09;是一种跨平台的、开放的数据交换标准#xff0c;常用于工业自动化… 目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UAOpen Platform Communications Unified Architecture是一种跨平台的、开放的数据交换标准常用于工业自动化领域。Python因其易用性和丰富的库支持成为实现OPC UA通信的不错选择。本文将介绍如何使用Python进行OPC UA通信并实时记录从FANUC机器人获取的数据。 机器人仿真 FANUC机器人可以使用官方软件RoboGuide进行机器人仿真启动后默认OPC UA地址为127.0.0.1:4880/FANUC/NanoUaServer。 环境准备 Python 3.5opcua库用于实现OPC UA通信logging库用于记录日志 安装opcua库 pip install opcua代码实现 1. 导入库 import csv from datetime import datetime import logging import os import shutil import time from typing import List from opcua.common.node import Node from opcua import Client, ua2. 设置参数 SERVER_URL opc.tcp://127.0.0.1:4880/FANUC/NanoUaServer CSV_FILENAME fanuc_opcua_data.csv FAUNC_LOG fanuc.log LOG_DIR log BACKUP_DIR backup3. 日志配置 def getLogger(filename: str):if not os.path.exists(LOG_DIR):os.makedirs(LOG_DIR)logger logging.Logger(filename[:-4].upper(), logging.INFO)formatter logging.Formatter(%(asctime)s - %(name)s - %(levelname)s %(message)s)fh logging.FileHandler(LOG_DIR / filename, encodingutf-8, modea)fh.setFormatter(formatter)ch logging.StreamHandler()ch.setFormatter(formatter)logger.addHandler(fh)logger.addHandler(ch)return loggerLOGGER getLogger(FAUNC_LOG)4. OPC UA通信 连接到服务器 def connect_to_server(url):client Client(url)client.connect()return client获取根节点和对象节点 def get_root_node(client: Client):return client.get_root_node() def get_objects_node(client: Client):return client.get_objects_node()遍历所有子节点并返回变量节点的路径和数值 def get_variables(node: Node, path):variables {}children: List[Node] node.get_children()for child in children:try:name: ua.QualifiedName child.get_browse_name()new_path f{path}/{name.Name}if child.get_node_class() ua.NodeClass.Variable:value child.get_value()if isinstance(value, list):value ,.join(str(x) for x in value)if isinstance(value, str):value value.replace(\n, \\n).replace(,, )variables[new_path] valueelse:variables.update(get_variables(child, new_path))except Exception as e:LOGGER.error(fError fetching variable: {new_path}, Error: {e})return variables5. 备份旧CSV文件 def backup_csv_file(filename):if not os.path.exists(BACKUP_DIR):os.makedirs(BACKUP_DIR)if os.path.exists(filename):modification_time os.path.getmtime(filename)modification_time_str datetime.fromtimestamp(modification_time).strftime(%Y%m%d%H%M%S)new_filename f{BACKUP_DIR}/{filename}_{modification_time_str}try:shutil.move(filename, new_filename)LOGGER.info(f文件已移动到 {new_filename})except Exception as e:LOGGER.error(f移动文件出错: {new_filename}, Error: {e})6. 主函数 if __name__ __main__:try:client connect_to_server(SERVER_URL)root_node get_root_node(client)objects_node get_objects_node(client)backup_csv_file(CSV_FILENAME)with open(CSV_FILENAME, modew, newline) as csvfile:num 0while True:variables get_variables(objects_node)if num 1:writer csv.DictWriter(csvfile, fieldnamesvariables.keys())writer.writeheader()writer.writerow(variables)csvfile.flush()num 1LOGGER.info(数据记录: str(num))time.sleep(1)except KeyboardInterrupt:print(程序被用户中断)finally:client.disconnect()记录数据预览 总结 本文介绍了如何使用Python进行OPC UA通信并实时记录从FANUC机器人获取的数据。通过使用opcua库我们可以轻松地连接到OPC UA 完整代码 import csv from datetime import datetime import logging import os import shutil import time from typing import List from opcua.common.node import Node from opcua import Client, ua# OPC UA服务器的URL SERVER_URL opc.tcp://127.0.0.1:4880/FANUC/NanoUaServer # CSV文件名 CSV_FILENAME fanuc_opcua_data.csv # 日志文件 FAUNC_LOG fanuc.log # 文件夹 LOG_DIR log BACKUP_DIR backupdef getLogger(filename: str):if not os.path.exists(LOG_DIR):os.makedirs(LOG_DIR)logger logging.Logger(filename[:-4].upper(), logging.INFO)formatter logging.Formatter(%(asctime)s - %(name)s - %(levelname)s %(message)s)fh logging.FileHandler(LOG_DIR / filename, encodingutf-8, modea)fh.setFormatter(formatter)ch logging.StreamHandler()ch.setFormatter(formatter)logger.addHandler(fh)logger.addHandler(ch)return loggerLOGGER getLogger(FAUNC_LOG) def connect_to_server(url):创建客户端实例并连接到服务端client Client(url)client.connect()return clientdef get_root_node(client: Client):获取服务器命名空间中的根节点return client.get_root_node()def get_objects_node(client: Client):获取服务器的对象节点return client.get_objects_node()def get_variables(node: Node, path):遍历所有子节点并返回变量节点的路径和数值variables {}children: List[Node] node.get_children()for child in children:try:name: ua.QualifiedName child.get_browse_name()new_path f{path}/{name.Name}if child.get_node_class() ua.NodeClass.Variable:value child.get_value()if isinstance(value, list):value ,.join(str(x) for x in value)if isinstance(value, str):value value.replace(\n, \\n).replace(,, )variables[new_path] valueelse:variables.update(get_variables(child, new_path))except Exception as e:LOGGER.error(fError fetching variable: {new_path}, Error: {e})return variablesdef backup_csv_file(filename):如果CSV文件已存在则备份if not os.path.exists(BACKUP_DIR):os.makedirs(BACKUP_DIR)if os.path.exists(filename):modification_time os.path.getmtime(filename)modification_time_str datetime.fromtimestamp(modification_time).strftime(%Y%m%d%H%M%S)new_filename f{BACKUP_DIR}/{filename}_{modification_time_str}try:shutil.move(filename, new_filename)LOGGER.info(f文件已移动到 {new_filename})except Exception as e:LOGGER.error(f移动文件出错: {new_filename}, Error: {e})if __name__ __main__:try:client connect_to_server(SERVER_URL)root_node get_root_node(client)objects_node get_objects_node(client)backup_csv_file(CSV_FILENAME)with open(CSV_FILENAME, modew, newline) as csvfile:num 0while True:variables get_variables(objects_node)if num 1:writer csv.DictWriter(csvfile, fieldnamesvariables.keys())writer.writeheader()writer.writerow(variables)csvfile.flush()num 1LOGGER.info(数据记录: str(num))time.sleep(1)except KeyboardInterrupt:print(程序被用户中断)finally:client.disconnect()
http://www.hkea.cn/news/14304189/

相关文章:

  • php能自己做网站吗网站底部备案字体设置
  • 网页设计制作手机网站便宜的做网站公司
  • 做企业网站怎么接活网站项目设计与制作
  • 吉林市建设厅网站互联网营销专家
  • 厦门怎么没有 网站备案wordpress 关闭warning
  • 广州番禺区地图高清版大图seo外包 杭州
  • 网站颜色搭配实例网页版微信登录显示二维码已失效
  • 网站怎么做才能将名声打响珠宝网站建设公司
  • 注册网站有什么用网站推广 软件
  • 顺义做网站的厂家杭州网站建设响应式
  • 鲜花团购网站建设广州汽车网络推广服务
  • 购物网站后台模板网站推广策划案
  • 网站备案号 查询在手机上怎么制作网站
  • 苏州大型网站建设公司解决wordpress后台加载非常缓慢
  • 湖北省建设厅网站怎么打不开广州建站快车
  • 建设网站书陕西网站建设品牌公司推荐
  • 免费网站建设排行榜wordpress的文章置顶有什么用
  • 太原网站制作小程序郑州制作网站推荐
  • 用什么软件上传网站网站开发的四个高级阶段包括
  • 湖北聚四方建设有限公司网站谁给个能用的网址
  • 做普通网站公司wordpress 漏洞 修复
  • 网站商城建设的维度免费电子版个人简历可编辑
  • 微信企业网站 源码下载wordpress插件数据存放
  • 企业网站制作费做分录贵州省冶金建设有限公司网站
  • 长沙制作网站公司wordpress分类页面添加幻灯片
  • 东莞外贸网站建设策划方案flash型网站网址
  • 站长工具seo源码有网络但是网页打不开
  • 响应式网站有什么好处wordpress统计查看
  • 个人做网站模版是否有人买个性化网站建设公司电话
  • 网站描述如何写利于优化搭建购物商城