Python软件包概述
使使用Python的Optommp更加简单,易于开始凹槽史诗般的开源Python包在Python软件包索引(PYPI)托管文件github。
这意味着您可以轻松下载软件包,在Python脚本中使用一行导入该软件包,然后每个任务只是一个简单的函数调用,而复杂的十六进制阵列,插座和其他详细信息则为您处理。
这个想法是要直接运行,并直接进入开发史诗般的应用程序,而不是花费时间写作和调试通信方法。
下载
要下载包裹,您需要安装Python Pip,Python Package Manager(如果您还没有),然后使用它来获取Optommp来自Python软件包索引(PYPI)的软件包。
请按照以下步骤获取设备上的包裹:
sudo apt-get更新sudo apt-get安装python pipsudo pip安装optommp
使用软件包
要使用软件包,请参阅github readme或以下步骤:
下载软件包后,将其在脚本的顶部导入:
导入Optommp为Localhost(无参数)创建Opto 22内存映射对象或提供设备的主机名:
grvepic = optommp.o22mmp()在此对象上调用函数,交出任何必需的参数;例如,在插槽中切换数字输出模块0,频道号4到在(1 = ON,0 = OFF):
grvepic.setDigitalPointState(0,4,1)在脚本末尾关闭控制器连接:
grvepic.close()
还有更多示例脚本可用于查看使用中的软件包,或者您可以发表帖子Opto论坛有关更具体的问题。
包括功能
创建和关闭控制器对象
O22MMP(主机)- 初始化位于“主机” IP地址或主机名的Opto22内存映射对象。
O22MMP()- 初始化对象,默认为
Localhost/127.0.0.1。关闭()- 关闭插座连接到设备。在脚本结束之前调用此。
杂项。功能
readRawOffset(偏移,大小,data_type)- rads在原始地址
抵消,收集尺寸字节,并使用数据类型格式打开包装(请参阅UncackReadResponse有关详细信息)。lastror()- 返回控制器上存储的最后一个错误响应代码,请参阅OPTOMMP协议手册(表格1465)有关详细信息。
unitDescription()- 返回设备单元描述。例如,
grv-epic-pr1。固件版本()- 返回设备固件版本。例如,
R1.3A。
以太网状态访问功能
ipaddresse0()- 返回控制器上与以太网0关联的IP地址。
macAddresse0()- 返回控制器上与以太网0关联的MAC地址。
ipaddresse1()- 返回控制器上与以太网1关联的IP地址。
macAddresse1()- 返回控制器上与以太网1关联的MAC地址。
模拟和数字I/O访问功能
setDigitalPointState(模块,通道,状态)- 高清数字输出
渠道在模块将切换到状态,应为1或0。返回状态代码,其中代码0表示没有报告错误。getDigitalPointState(模块,频道)- 高清数字输出的状态
渠道在模块将被取出。返回状态1或0。getAnalogpointValue(模块,频道)- 返回安装在模拟I/O的当前浮点值
渠道在模块。setAnalogpointValue(模块,通道,值)- 设置安装的模拟I/O
渠道在模块成为价值。价值应该是浮标。getAnalogpointmin(模块,频道)- 返回安装在模拟I/O的最小浮点数
渠道在模块。getAnalogpointmax(模块,频道)- 返回安装在模拟I/O的最大浮点数
渠道在模块。
ScratchPad区域访问功能
getCractchpadintegerarea(索引)- 返回
指数Th刮擦整数。setscractchpadintegerarea(索引,值)- 设置
指数Th刮擦整数为价值。getCraccractchploatarea(索引)- 返回
指数Th刮擦垫浮子。setscractchploatarea(索引,值)- 设置
指数Th刮擦垫浮子为价值。getCractchpadstringarea(索引)- 返回
指数Th刮擦垫字符串。setScractchpadstringarea(索引,数据)- 设置
指数Th刮擦垫字符串为数据。
内部内存映射功能
大多数用户将不需要或不需要直接在其代码中使用这些功能,而是用作上述功能的助手。但是,了解他们的工作可能会有所帮助,或者您打算修改或扩展此软件包。
unwackReadResponse(数据,data_type)- 从读取响应的16-20字节中解开字符串数据。返回格式化的数据。
数据类型–> struct format characters ‘c’, ‘i’, ‘d’, ‘f’, etc., or specifically ‘FIRMWARE’, ‘IP’, or ‘MAC’ for custom formatting, or ‘NONE’ for raw binary data.UncackWriterSponse(数据)- 从写入响应的4-8字节4-8解开整数状态代码。返回int状态,其中代码0表示没有报告错误。
packFloat(值)- 包装浮点
vlaue进入一个四字节六边形阵列。Packinteger(值)- 包装整数点
vlaue进入一个四字节六边形阵列。readblock(地址)- 在内存位置读取值
地址。依靠buidreadBlockrequest(),结束。发送()和.recv()方法。返回未包装的字符串数据。写入(地址,值)- 写
价值进入内存位置地址。依靠buildWriteBlockRockrequest(),结束。发送()和.recv()方法。返回int状态。BuildReadBlockRockrequest(dest,size)- 构建读取块请求Bytearray。返回Bytearray块。
这是一种内部使用的实用程序方法,可以构建读取请求。客户代码不太可能需要它。BuildWriteBlockRockrequest(dest,value)- 构建写块请求Bytearray。返回Bytearray块。
这是一种内部使用的实用程序方法,可以构建读取请求。客户代码不太可能需要它。
要了解用于编写此软件包的方法,请查看此处的较早页面python的Optommp入门指导。