Alicat质量流控制器的Python驱动程序。

alicat的Python项目详细描述


艾丽卡

串行驱动程序和命令行工具 Alicat mass flow controllers

如果您使用的是Analyt MTC流量控制器,请转到this repository获取更多信息。

连接示例

  • 直接连接到计算机的标准DB9 cable(unix:/dev/ttyS0,windows:COM1)。
    • 适用于仍具有连接器的旧计算机。
  • 通过USB converter(unix:/dev/ttyUSB0,windows:COM1)连接到计算机的电缆。
    • 适用于新型电脑和制造板,如覆盆子皮。
  • 电缆通过TCP device servertcp://192.168.1.100:4000,需要python>;3.4)。
    • 与专业外观的控制箱的可编程逻辑控制器配合良好。
  • 多条电缆通过splitter和Alicat的地址(A-D)连接到一个端口。
    • 当端口数量有限时很好。

安装

pip install alicat

如果您不喜欢pip,也可以从源代码安装:

git clone https://github.com/numat/alicat.git
cd alicat
python setup.py install

用法

命令行

对于基本任务,此驱动程序包含一个命令行界面。阅读帮助 更多。

alicat --help

Python

对于更复杂的项目,请使用python自动化您的工作流。

fromalicatimportFlowControllerflow_controller=FlowController(port='/dev/ttyUSB0')print(flow_controller.get())

如果流控制器正在指定端口上通信,则 返回形式的词典:

{'setpoint':0.0,# Setpoint, either mass flow rate or pressure'control_point':'flow',# Either 'flow' or 'pressure''gas':'Air',# Can be any option in `flow_controller.gases`'mass_flow':0.0,# Mass flow (in units specified at time of purchase)'pressure':25.46,# Pressure (normally in psia)'temperature':23.62,# Temperature (normally in C)'total_flow':0.0,# Optional. If totalizer function purchased, will be included'volumetric_flow':0.0# Volumetric flow (in units specified at time of purchase)}

您还可以设置气体类型和流量/压力。

flow_controller.set_gas('N2')flow_controller.set_flow_rate(1.0)flow_controller.set_pressure(20)

艾丽卡寻址

通过使用alicat的A-D地址,可以在同一端口上有多个控制器 还有一个RS-232 splitter

flow_controller_1=FlowController(address='A')flow_controller_2=FlowController(address='B')flow_controller_1.set_flow_rate(1.0)flow_controller_2.set_flow_rate(0.5)flow_controller_1.close()#/dev/ttyUSB0 is still open!flow_controller_2.close()

异步tcp

有些人通过以太网代理服务器(example)连接他们的rs-232设备,从而启用网络 进入。这是通过异步(python>;3.4)和python内置的 异步语法。

importasynciofromalicat.tcpimportFlowControllerflow_controller=FlowController('192.168.1.100',4000)asyncdefprint_state():print(awaitflow_controller.get())ioloop=asyncio.get_event_loop()ioloop.run_until_complete(print_state())ioloop.close()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言