USB-PC104シリーズ アナログ入出力ユニット Pythonサンプルプログラム

ソフトウェアマニュアルにPythonのサンプルコードは記載しておりません。また、ソフトウェアパックにもPythonのサンプルプログラムは含まれておりませんので、Pythonで使用される場合は以下を参考にしてください。

サンプルプログラム

import sys
import platform
import ctypes

# エラーコード(戻り値)
YDU_RESULT_SUCCESS = 0          # 正常終了

# YduOpen
YDU_OPEN_NORMAL = 0             # 通常オープン
YDU_OPEN_OUT_NOT_INIT = 0x01    # 出力初期化しない

# DLL
pf = platform.system()
if pf == 'Windows':
    ydu = ctypes.windll.Ydu
elif pf == 'Linux':
    ydu = ctypes.CDLL('libydu.so')

# IDが0に設定されているAIO-84A-Uをオープンします
unit_id = 0
result = ydu.YduOpen(unit_id, b'AIO-84A-U', YDU_OPEN_NORMAL)
if result != YDU_RESULT_SUCCESS:
    print('オープンできません')
    sys.exit()

# AIN2の入力
input_data = ctypes.c_float()
input_no = 2
result = ydu.YduAioInputVolt(unit_id, ctypes.byref(input_data), input_no, 1)
if result == YDU_RESULT_SUCCESS:
    print('AIN{}: {}'.format(input_no, input_data.value))

# AIN0-7の入力
input_data = (ctypes.c_float * 8)()
result = ydu.YduAioInputVolt(unit_id, ctypes.byref(input_data), 0, 8)
if result == YDU_RESULT_SUCCESS:
    for i, d in enumerate(input_data):
        print('AIN{}: {}'.format(i, d))

# AOUT3の出力
output_data = (ctypes.c_float)(5.0)
result = ydu.YduAioOutputVolt(unit_id, ctypes.byref(output_data), 3, 1)

# AOUT0-3の出力
output_data = (ctypes.c_float * 4)(-1.2, 3.4, 5.6, -7.8)
result = ydu.YduAioOutputVolt(unit_id, ctypes.byref(output_data), 0, 4)

# クローズ
result = ydu.YduClose(unit_id)

デジタル入出力のサンプルプログラム
リレー出力のサンプルプログラム

関連情報

製品情報
ヘルプファイル(ソフトウェア説明書)