[Pro-face] セキュリティー対策、System Monitorユーザーマニュアル、System Monitor APIリファレンス、16DI/8DO APIリファレンス

法的情報

本ガイドで言及されているPro-faceブランドならびにシュナイダーエレクトリックSEおよびその子会社の商標は、シュナイダーエレクトリックSEまたはその子会社の所有物です。その他すべてのブランドは、各所有者の商標である場合があります。本ガイドおよびその記載内容は、該当する著作権法で保護されており、情報提供のみを目的とし作成されています。本ガイドのいかなる部分も、いかなる形式や手段(電子的、機械的、複写、記録、またはその他)によっても、どのような目的であっても、シュナイダーエレクトリックから書面による事前の許可を得ずに、再製または頒布することはできません。
シュナイダーエレクトリックは、「現状のまま」本ガイドを調べる非独占な個人ライセンスを除き、本ガイドまたはその記載内容を商業的に使用する権利またはライセンスを付与することはありません。
シュナイダーエレクトリックの製品および設備の設置、運転、メンテナンス、管理は必ず、適格な担当者が行ってください。 規格、仕様、および設計は随時変更されるため、本ガイドに記載されている情報は予告なく変更されることがあります。 適用法により認められる範囲で、シュナイダーエレクトリックおよびその子会社は、本資料の情報コンテンツの誤りや記入漏れまたは本資料に含まれる情報の使用に起因する結果、もしくはその結果から生じる結果に関し、一切責任を負いません。

はじめに

本ドキュメントでは、PS6000シリーズ(以下本製品)をお使いいただくための

  • セキュリティー対策
  • System Monitor Sample Dashboard(以下System Monitor)の使用方法
  • 本製品専用Node
  • System Monitor API
  • System Monitor FAQ
  • 16DI/8DO API

についての情報を記載しています。

更新履歴

  • 2024/03  Windows Security Virus & threat protection updateの有効化方法, ERROR LED API追加
  • 2021/08  System Monitor API, 16DI/8DO API追加

目次

 

セキュリティー対策

ネットワークの保護

  • 本製品をネットワーク環境で使用される場合、構築するネットワーク自体をセキュアな状態にしてください。
    (Firewall機器等ネットワークセキュリティー機器の設置等)
    詳細については設備のネットワーク管理者へご相談ください。

本製品OS(Windows)のセキュリティーアップデート

  • Windows Automatic Updateは出荷時にはポリシー設定によってDisableに設定されています。 自動更新が必要な場合には設定を変更してください。
    Windows Automatic Updateの有効化方法
  • Write Filterを使用する場合にはWrite FilterをDisableにした状態でアップデートを行ってください。
  • 本製品設置後も、定期的に「マイクロソフト更新プログラムの認定」ページを確認して、記載の認定済みセキュリティーアップデート(QFE)を適用し、OSを最新の状態に維持してください。
  • セキュリティーアップデートを定期的に適用できない使用環境の場合には、オプションのTrellixライセンスをご購入いただき、許可リスト方式のセキュリティー対策の実施をお勧めします。

Account type

  • 通常の使用時には、アカウントの種類(Account type)をStandard Userとして作成したユーザーを使用してください。
    アカウントの種類がAdministratorのユーザーはシステムの設定変更が必要な場合のみ使用してください。
    Standard Userのユーザーアカウント作成

Node-REDの環境設定

  • Node-REDの環境設定ファイルは、各ユーザーアカウントに保持されます。設定変更の場合は、各ユーザーアカウントへ 更新やコピーが必要となります。

Node-RED フローエディターのユーザー名、パスワード

  • デフォルトのユーザー名は「admin」、パスワードは「Pw#12345」
  • Node-REDのユーザー名、パスワードは初回ログイン後必ず変更してください。パスワードは強力なパスワードに設定してください。ユーザー名、パスワードの変更方法はこちらのページを参照してください。
  • ログイン情報(トークン)の有効期限はデフォルトで7日となっています。 フローエディターにログインしログアウトしないままエディターを閉じるとログイン状態が7日間保持されますので、エディター画面を終了する場合にはログアウトを行ってください。
  • ログイン情報(トークン)の有効期限の変更方法も上記URLに記載されています。

Node-REDの使用するポート番号

  • Node-REDはデフォルトでTCPポート1880を使用します。他のアプリケーションで使用している場合には、他のポート番号を使用してください。
  • もしNode-REDのポート番号を変更する必要が有る場合にはこちらのページを参照してください。

システム起動時にNode.js、Node-REDを起動する場合の注意事項

  • 下記URLに記載のとおり、起動時にWindowsサービスとしてNode.js、Node-REDを自動起動する設定を行った場合、ログインしなくてもフローを動作させることが可能です。ただし、サービスをシステムアカウントで起動するとフローによって全ての操作(OSの設定変更など)が可能となってしまいます。システムのセキュリティーリスクを上げてしまう可能性があることを考慮の上、設定してください。
    https://nodered.jp/docs/faq/starting-node-red-on-boot
  • 本製品のプリインストールOSではセキュリティーを高めるため、Node.js、Node-REDはログインしたユーザーアカウントで起動する設定となっています。

Node-RED環境の保護

  • Node-REDを構成するファイルは%USERPROFILE% フォルダー以下に保存されています。Standard Userのユーザーアカウントを使用していても自由に編集や削除することが可能です。下記手順でNode-REDの構成ファイルのアクセス権限を変更することによって、システムの安全性を高めることが可能です。
    ファイルアクセス権の設定

 

Windows Automatic Updateの有効化方法

  1. スタートボタンを右クリックし、Runを選択します。
    img_smsg110_01.jpg
  2. "gpedit.msc"と入力し[OK]をクリックします。
    img_smsg110_02.png
  3. “Computer Configuration\Administrative Templates\Windows Components\Windows Update\Configure Automatic Update”を開きます。
    img_smsg110_03.png
     
    img_smsg110_04.png
  4. 設定を[Disable]から[Enable]に変更し、使用環境に応じて[Options]を設定してください。
    img_smsg110_05.png

 

Windows Security Virus & threat protection updateの有効化方法

  1. スタートボタンを右クリックし、Runを選択します。
  2. "gpedit.msc"と入力し[OK]をクリックします。
  3. “Computer Configuration\Administrative Templates\Windows Components\Microsoft Defender Antivirus\Security Intelligence Updates\Define the order of sources for downloading security intelligence updates”を開きます。

     
  4. 設定を[Enabled]から[Not Configured]に変更します。
  5. “Computer Configuration\Administrative Templates\Windows Components\Microsoft Defender Antivirus\Security Intelligence Updates\Define the file shares for downloading security intelligence updates”を開きます。
  6. 設定を[Enabled]から[Not Configured]に変更します。

 

Standard User のユーザーアカウント作成

  1. Settings -> Accounts を開きます。
    img_smsg110_06.png
  2. Family & other users - Add someone else to this PC をクリックしユーザー名(ここでは”StandardUser0”とします)、パスワードを設定します。
    img_smsg110_07.png
  3. StandardUser0 が作成されました。
  4. 作成した StandardUser0 アカウントで Sign in する事によってユーザーの環境ファイル一式(%USERPROFILE%)を作成します。
    Start -> Sign out をクリックします。
    img_smsg110_09.png
  5. サインイン画面でユーザー名を選択し Sign in します。
    img_smsg110_10.png
  6. デスクトップが表示されたら、Launcher アイコンをダブルクリックします。
     img_smsg110_11.png
  7. Launcher から System Monitor を選択します。
    img_smsg110_12.png
  8. Dashboard が表示されます。
    img_smsg110_13.png
  9. Start -> Sign out を選択します。
  10. 元の Administrator アカウントのユーザーで Sign in します。
    img_smsg110_15.png

以上で新規の Standard User 権限のユーザーアカウントが作成されました。

ファイルアクセス権の設定

  1. Administratorユーザーアカウントを使用して、Standard Userアカウントで作成されたファイル、フォルダーの編集を行うためアクセス権を取得します。
    File Explorer
    を開きます。
    img_smsg110_16.png
  2. C:\Users 以下の作成した Standard User フォルダーを選択します。
    アクセス権を取得する確認ダイアログが表示されますので Continue を選択します。
    img_smsg110_17.png
  3. Standard UserアカウントのNode-RED環境を自身で変更できなくするために所有者をAdministratorsグループに変更します。
    .node-red フォルダーを右クリックしProperties を開きます。ここで.node-redフォルダーが存在しない場合にはこのユーザーでSystem Monitorが一度も起動されていません、Standard Userのユーザーアカウント作成 の手順4に戻ってください。
    img_smsg110_18.png
  4. Security -> Advanced を選択します。
    img_smsg110_19.png
  5. [Owner] の横の [Change] を選択し、所有権を変更します。
    img_smsg110_20.png
  6. Enter the object name to select に Administratorsと入力し、OK を選択します。 Owner が管理者ユーザーグループに変更されます。
    img_smsg110_21.png
  7. [Replace owner on subcontainers and objects] にチェックを入れます。
    img_smsg110_22.png
  8. [Replace child object permission entries with inheritable permission entries from this object] にチェックを入れます。
    img_smsg110_23.png
  9. [Disable inheritance] を選択します。
    img_smsg110_24.png
  10. 継承されたアクセス権をどうするかのダイアログが表示されます。[Convert inherited permissions into explicit permissions on this object.] を選択します。
  11. .node-redフォルダーにはNode-RED実行時に書き込み権限が必要ですので、Full control権限のみを削除します。
    使用する Standard User(StandardUser0)アカウントを選択し、Edit を選択します。
    img_smsg110_26.png
  12. [Basic permissions] から [Full control] のチェックをクリアし、[OK] を選択します。
    img_smsg110_27.png
  13. Standard User のアクセス権が [Modify] に変更されていることを確認し、[OK] を選択します。
    img_smsg110_28.png
  14. アクセス権を置き換える確認ダイアログが表示されますので、[OK] を選択します。
    img_smsg110_29.png
  15. [OK] を選択します。
    img_smsg110_30.png
  16. 引き続き .node-redフォルダー内のファイルの詳細設定を行います。settings.jsは重要な設定情報を含みますので編集を禁止します。
    settings.js を右クリックし、プロパティーを開きます。
    img_smsg110_31.png
  17. Security -> Advanced を選択します。
    img_smsg110_32.png
  18. [Disable inheritance] を選択します。
    img_smsg110_33.png
  19. 継承されたアクセス権をどうするかのダイアログが表示されます。 [Convert inherited permissions into eplicit permissions on this object.] を選択します。
    img_smsg110_34.png
  20. 使用する Standard User(StandardUser0)アカウントを選択し、[Edit] を選択します。
    img_smsg110_35.png
  21. [Basic Permissions] の [Full control]、 [Modify]、[Write] のチェックをクリアします。
    img_smsg110_36.png
  22. Standard User のアクセス権が Read & execute に変更されていることを確認し、[OK] を選択します。
    img_smsg110_37.png
  23. [OK]を選択します。
    img_smsg110_38.png
  24. 続いて、.node-red フォルダー内のフローファイルの編集を禁止します。
    .node-red フォルダー内のフローファイルの [Properties] を開き、手順17~23と同様に Standard User の権限を [Rade & execute] に変更します。
    img_smsg110_39.png
  25. 続いて、グローバルインストールされたnodeを保護するためアクセス権を読み取り専用に変更します。
    ユーザーフォルダーを開き、フォルダー名の後ろに \AppData\Roaming と入力し、隠しフォルダーを開きます。
    img_smsg110_40.png
  26. \AppData\Roaming\npm の [Properties] を開きます。
    img_smsg110_41.png
  27. 手順4~11と同様に進み、[Full control]、[Modify]、[Write] のチェックをクリアします。
    img_smsg110_42.png
  28. Standard User のアクセス権が [Read & execute] に変更されていることを確認し、[OK] を選択します。 手順14、15と同様に進めます。
    img_smsg110_43.png

以上で作成した Standard Userアカウントの node-red 関連ファイルのアクセス権の変更が完了しました。

 

System Monitor

System Monitorとは

  • 本製品 の温度、電圧、消費電力等のセンサー値を監視する機能です。
  • node-red-dashboardの機能を使って、読み出したセンサー値を確認することが可能です。
  • Node-RED用に本製品専用の温度、電圧、消費電力等のセンサー値取得Nodeを提供しています。
  • System Monitorはnode-red-dashboardを使ったサンプルUI画面として編集可能な状態で提供しています。
  • Pro-face ConnectやVPN等と組み合わせて遠隔地に設置したシステムのリモート監視に利用可能です。 独自のフローを作成することによってIIoTシステムの一部として応用することも可能です。

※ FirefoxではSystem Monitorのグラフが正しく描画されません 。Internet Explorer、ChromeまたはMicrosoft Edgeを使用してください。

Security

  • Exec nodeを使用される場合は、権限昇格などに注意しセキュアな環境でご利用ください。
  • System Monitorは、弊社で作成されたサンプルの証明書情報が使用されています。お客様が、System Monitorをご利用される際は、貴社で作成された証明書情報をご利用ください。
  • Node-RED エディタのセッションタイムアウト時間は、デフォルトで7日間に設定されています。お客様のご利用状況に応じて、セッションタイムアウト時間の設定を変更することを推奨します。(推奨時間:12時間)
    セッションタイムアウト時間 変更方法:
    https://nodered.jp/docs/user-guide/runtime/securing-node-red
  • System Monitorを使用する場合は、セキュアな環境でご利用ください。
  • HTMLソースコードを実行可能なnodeを使用する場合は、セキュアな環境でご利用ください。

System Monitorエラー検出時の動作

System Monitorは、エラー検出時に下記の動作を行います。

  • エラーメッセージ表示
    img_smsg110_44.png
  • イベントログ出力
    TYPEEvent IDDescription
    Error2SysMonSrv : xxxxxx exceeded the threshold. (vvvvvv)
    Information1SysMonSrv : xxxxxx has returned to the normal range.

    xxxxxx : センサー名(例: CPU Temp
    vvvvvv : エラー検出時のセンサー値

  • フロントLED変更(橙色/赤色点滅)

System Monitorの開き方

  • デスクトップ上のLauncherショートカットをダブルクリックしLauncherを起動します。
    img_smsg110_45.png
  • LauncherSystem MonitorアイコンをクリックしSystem Monitor Dashboardを起動します。
    img_smsg110_46.png
  • 初回起動時にWindows Security Alert画面が表示されます。
    ネットワーク上の他のPCからのSystem Monitor Sample Dashboardの使用を許可する場合には[Allow access]を選択します。許可しない場合には[Cancel]を選択してください。
    img_smsg110_47.png
  • インターネットブラウザーが開きSystem Monitor Dashboardが表示されます。
    img_smsg110_48.png

System Monitor Sample Dashboardの編集方法

  • Node-RED フローエディターを開くには、インターネットブラウザーのアドレスバーに https://localhost:1880/ を入力します。ユーザー名、パスワード入力画面が開きます。
    デフォルトのユーザー名は「admin」、パスワードは「Pw#12345」です。
    img_smsg110_49.png
  • ユーザー名、パスワードを入力しログインするとフローエディターが開きます。
    img_smsg110_50.png
  • フローエディター使用方法等Node-REDの詳細については、Node-REDユーザーガイドを参照してください。
  • デフォルトユーザー名、パスワードは初回ログイン後、直ちに変更を行ってください。ユーザー名、パスワードの変更方法はセキュリティー対策を参照してください。
  • フローエディターにログインしログアウトしないままエディターを閉じるとログイン状態が7日間保持されます。エディター画面を終了する場合にはログアウトを行ってください。ログイン情報の保持期間の変更方法はセキュリティー対策を参照してください。

Node-RED Flow 編集時の注意事項

  • Node-REDで作成したFlowは各ユーザーアカウントに保持されるため、管理者権限アカウントで各ユーザーアカウントにコピーする必要があります。
  • 通常運用専用Standard User アカウントを使用している場合は、Node.jsを終了し、更新時のみ一時的に管理者権限でNode.js command prompt を実行することによりFlowの更新作業を行うことが可能となります。

 

本製品専用Node

node-red-contrib-sep6platform

  • 本製品のシステム情報を取得するためのNodeです。詳細は本製品の%APPDATA%\npm\node_modules\node-red-cotrib-sep6platform\README.md を参照してください。
  • 使用例
    img_smsg110_51.png

node-sep6platform

  • node-red-contrib-sep6platformの内部で使用されているNodeです。

node-red-contrib-sep6sensor

  • 本製品の温度、電圧、消費電流センサー情報を取得するためのNodeです。
  • 詳細は本製品の%APPDATA%\npm\node_modules\node-red-cotrib-sep6sensor\README.md を参照してください。
  • 使用例
    img_smsg110_52.png

node-sep6sensor

  • node-red-contrib-sep6sensorの内部で使用されているNodeです。

 

System Monitor API

System Monitor Sample Dashboardを使用せずにユーザーアプリケーションから直接センサーデータを取得したい場合に利用可能なWindows用APIを用意しています。WDT APIでアプリケーションの動作を監視することが可能です。

Supported OS

  • Windows 10 64bit (ビルドバージョン 1809 以上)
    The Watchdog Timer (WDT) function requires the following two conditions to be met
    OS: Pre-installed OS version 2.0 or higher, or OS with the latest Dedicated Utility installed
    BIOS: version WAR02 or higher

Development Environment

  • Microsoft Visual Studio 2017 (C++)

Download file

DLL Files

  • C:\Windows\System32\SysMonApi.dll
  • C:\Windows\SysWOW64\SysMonApi32.dll
  • C:\Windows\System32\RasApi.dll

Note: DLL files are installed by a dedicated_utility_for_ps6000_series. If you need the DLL to install in your development environment, please contact your local distributer.

Header Files

  • SysMonApi.h
  • RAS_MappedFile.h (included from SysMonApi.h)
  • RAS_API_PFXPHMIP6.h (for WDT functions)

Lib Files

  • SysMonApi.lib ( for x64 application )
  • SysMonApi32.lib ( for x86 application )
  • RasApi.lib ( for WDT functions, for 64bit application )

Difinition

IdentifierRemark
RDI_Lib_VerLib version.   ("x.x.x.x")
RDI_Temp_Mb_MinMB minimum temparature log data.  (Celsius temperature)
RDI_Temp_Mb_CurrentMB tempareture.  (Celsius temperature)
RDI_Temp_Mb_MaxMB maximum temparature log data.  (Celsius temperature)
RDI_Temp_Cpu_MinCPU minimum temparature log data.  (Celsius temperature)
RDI_Temp_Cpu_CurrentCPU tempareture.  (Celsius temperature)
RDI_Temp_Cpu_MaxCPU maximum temparature log data.  (Celsius temperature)
RDI_Temp_Cpu_Dts1CPU core 1 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts2CPU core 2 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts3CPU core 3 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts4CPU core 4 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts5CPU core 5 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts6CPU core 6 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts7CPU core 7 DTS.  (Celsius temperature)
RDI_Temp_Cpu_Dts8CPU core 8 DTS.  (Celsius temperature)
RDI_Temp_Hdd_MinHDD minimum temparature log data.  (Celsius temperature)
RDI_Temp_Hdd_CurrentHDD tempareture.  (Celsius temperature)
RDI_Temp_Hdd_MaxHDD maximum temparature log data.  (Celsius temperature)
RDI_Volt_5VSTB5VSTB voltage.  (mV)
RDI_Volt_5V5V voltage.  (mV)
RDI_Volt_12V12V voltage.  (mV)
RDI_Volt_33V3.3V voltage.  (mV)
RDI_Mcu_VerMCU version number.  ("xxxx")
RDI_Mcu_PohMCU power-on hours.  (Hours )
RDI_Mcu_McotMCU most continuous power-on time.  (Hours )
RDI_Mcu_Pwon_CountMCU power on counts.  (Number of times)
RDI_Psu_WattPSU watt value.  (mW)
RDI_Psu_CurrentPSU current value.  (mA)
WDT_STOPWDT status stop
WDT_COUNTINGWDT status counting
WDT_TIMEOUTWDT status timeout
WDT_HWRESET_DISABLEWDT hardware reset disable
WDT_HWRESET_ENABLEWDT hardware reset enable

Function Reference

  • SysMonGetLibVersion()
    SYSMON_API BOOL WINAPI SysMonGetLibVersion ( char * pchStr )
    API function for get RAS library version from sysmonsrv.
    Parameters
         pchStr : Pointer to buffer address for store data.
    Returns
         TRUE : Success.
         FALSE : Error.
  • SysMonGetCurrentValue()
    SYSMON_API BOOL WINAPI SysMonGetCurrentValue ( int iSelector, int * piValue )
    API function for get current values.
    Parameters
         iSelector : Type of sensor etc. (RDI_XXX_)
         piValue : Pointer to buffer address for store data.
    Returns
         TRUE : Success.
         FALSE : Error.
  • SysMonGetLogValue()
    SYSMON_API BOOL WINAPI SysMonGetLogValue ( int iSelector, int * piValue, struct tm * pstTime )
    API function for get log values.
    Parameters
         iSelector : Type of sensor. (RDI_TEMP_xx_MIN_, RDI_TEMP_xx_MAX_).
         piValue : Pointer to buffer address for store data.
         pstTime : Pointer to buffer address for log time.
    Returns
         TRUE : Success.
         FALSE : Error.
  • SysMonGetWarningFlag()
    SYSMON_API BOOL WINAPI SysMonGetWarningFlag ( int iSelector, int * plFlag )
    API function for get warning flag.
    Parameters
         iSelector : Type of sensor. (RDI_XXX_).
         piFlag : Pointer to buffer address for store data. RAS_WARNING_ or RAS_NOT_WARNING_
    Returns
         TRUE : Success.
         FALSE : Error.
  • SysMonGetIsWarning()
    SYSMON_API BOOL WINAPI SysMonGetIsWarning ( int * piFlag )
    API function to determine whether the warning flag is valid.
    Parameters
         piFlag : Pointer to buffer address for store data. RAS_WARNING_ or RAS_NOT_WARNING_
    Returns
         TRUE : Success.
         FALSE : Error.
  • SysMonGetSensorName()
    SYSMON_API BOOL WINAPI SysMonGetSensorName ( int iSelector, PTCHAR ptcStr )
    API function for get Sensor name from sysmonsrv.
    Parameters
         iSelector : Type of sensor. (RDI_XXX_).
         ptcStr : Pointer to buffer address for store data.
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_SetWDTCounter()
    DLL_API BOOL RAS_SetWDTCounter ( int iValue )
    Set WDT counter values.
    Parameters
         iValue : Counter value (1 - 65535 sec).
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_StopWDTCounter()
    DLL_APIBOOLRAS_StopWDTCounter(void)
    Stop WDT counter countdown.
    Parameters
         void:
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_GetWDTStatus()
    DLL_APIBOOLRAS_GetWDTStatus(int*iState)
    Get WDT status.
    Parameters
         iState:Pointertoreturnstatus.
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_ClrWDTTimeoutStatus()
    DLL_APIBOOLRAS_ClrWDTTimeoutStatus(void)
    Clear WDT timeout status.
    Parameters
         void:
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_SetWDTResetMask()
    DLL_APIBOOLRAS_SetWDTResetMask(intiMask)
    Set WDT reset mask.
    Parameters
         iMask:WDT_HWRESET_DISABLEorWDT_HWRESET_ENABLE
    Returns
         TRUE : Success.
         FALSE : Error.
  • RAS_GetWDTResetMask()
    DLL_APIBOOLRAS_GetWDTResetMask(int*iMask)
    Get WDT reset mask.
    Parameters
         iMask:Pointertoreturnvalue.
    Returns
         TRUE : Success.
         FALSE : Error.

 

System Monitor FAQ

リモート接続(外部のPCからSystem Monitorを参照)

  • LauncherからSystem Monitorを初回起動する時にFirewallの設定で「Node.js Server-side JavaScript」の通信を有効にする必要があ ります。
    img_smsg110_53.png
    外部のPC上のブラウザープリケーションで本製品 のIPアドレスへアクセスします。
    例) https://ipaddress:1880/ui
  • 外部PCからリモート接続するためには本製品でNode.js、Node-REDが実行状態である必要があります。

リモート接続時にグラフが描画されない

  • Windowsの時計設定を確認してください。
    Timezoneと時計情報が正しく設定されている必要があります。本製品 のプリインストールOSのTimezoneはデフォルトでUTCに設定されています。ご使用になる地域に合わせて変更したうえで、必ず正しい現地時間に設定してください。

 

ERROR LED API

Basic Modelの背面ERROR LEDをアプリケーションから制御するためのAPIです。

Supported Model

  • PS6000 Basic Model

Supported OS

  • Windows 10 64bit (ビルドバージョン 21H2 以上)

Development Environment

  • Microsoft Visual Studio 2017 (C++)

Download file

DLL Files

  • ErrorLedApi.dll
  • VSensorApi.dll

Header Files

  • ErrorLedApi.h

Lib Files

  • ErrorLedApi.lib ( for x64 application )

Difinition

IdentifierRemark
ERROR_LED_STATUS_ONError LED On
ERROR_LED_STATUS_OFFError LED Off

Function Reference

  • GetErrorLed()
    ERRORLED_API DWORD WINAPI GetErrorLed (LPINT piStatus)
    API function for get Error LED status.
    Parameters
         piStatus : Pointer to buffer address (ERROR_LED_ON/ERROR_LED_OFF).
    Returns
         ERROR_SUCCESS : Success.
         ERROR_NOT_SUPPORTED : Not Basic model.
         Other : Error (Win32 error code).
  • SetErrorLed()
    ERRORLED_API DWORD WINAPI SetErrorLed (INT iStatus)
    API function for set Error LED status.
    Parameters
         iStatus : LED status (ERROR_LED_STATUS_ON/ERROR_LED_STATUS_OFF).
    Returns
         ERROR_SUCCESS : Success.
         ERROR_NOT_SUPPORTED : Not Basic model.
         Other : Error (Win32 error code).

 

16DI/8DO API

本APIは16DI/8DOオプションインターフェースへの入出力を提供します。

Supported Product

  • 16DI/8DO Optional interface (PFXYP6MPX16Y8)

Supported OS

  • Windows 10 64bit (Build version is 1809 or more.)

Development Environment

  • Microsoft Visual Studio 2017 (C++ / C# / VB)
  • Microsoft .NET Framework 4.8 (C# / VB)

Download file

Sample Code

  • For C# and VB environment
    Please refer to PFXPHMIP6_DIDO_SampleCode folder.
       PFXPHMIP6_DIDO_SampleCode.sln
       PFXPHMIP6_DIDO_SampleCode_CS.csproj   Sample Code for C#
       PFXPHMIP6_DIDO_SampleCode_VB.vbproj   Sample Code for Visual Basic

DLL Files

  • DIDO_PFXPHMIP6.dll For 64bit application.
  • DIDO_PFXPHMIP6_32.dll For 32bit application.

Header Files

  • For C++ environment
    DIDO_PFXPHMIP6.h

Lib Files

  • DIDO_PFXPHMIP6.lib   For 64bit application.
  • DIDO_PFXPHMIP6_32.lib   For 32bit applcation.

Difinition

CategoryIdentifierRemark
Error codeSERI_ERROR_FAIL_Error.
SERI_ERROR_OK_No error.
SERI_ERROR_RESPONSE_Response error.
SERI_ERROR_COMM_TIMEOUT_Set comm timeout error.
SERI_ERROR_HANDLE_Handle error.
SERI_ERROR_PARAM_Parameter error.
Counter IDDIDO_COUNTER0_Counter 0.
DIDO_COUNTER1_Counter 1.
Control codeDIDO_COUNTER_RESET_Reset Counter.
DIDO_COUNTER_START_Start Counter.
DIDO_COUNTER_STOP_Stop Counter.
DIDO_COUNTER_RESTART_Restart Counter.
DIDO_COUNTER_MODE_RISING_Counter mode Rising.
DIDO_COUNTER_MODE_FALLING_Counter mode Falling.
DIDO_COUNTER_MODE_BOTH_Counter mode Both.
DIDO_COUNTER_DEBOUNCE_ENABLE_Counter debounce enable.
DIDO_COUNTER_DEBOUNCE_DISABLE_Counter debounce disable.

Function Reference

  • OpenDido()
    HANDLE OpenDido(void)
         Open DIDO function.
    Parameters
         void :
    Returns
         HANDLE : Handle of DIDO device.
  • CloseDido()
    void CloseDido(HANDLE hComHandle)
         DIDO Close function.
    Parameters
         HANDLE : Handle of DIDO device.
    Returns
         void:
  • GetFwVersion()
    int GetFwVersion(HANDLE hHandle, PTCHAR ptcBl, PTCHAR ptcApp)
         DIDO GetFwVersion function.
    Parameters
         HANDLE : Handle of DIDO device.
         PTCHAR : Pointer to get version of the Bootloader.
         PTCHAR : Pointer to get version of the Bootloader.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • SetDout()
    int SetDout(HANDLE hHandle, BYTE byData)
         DIDO set dout port function.
    Parameters
         HANDLE : Handle of DIDO device.
         BYTE : Dout data.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • SetDoutDefault()
    int SetDoutDefault(HANDLE hHandle, BYTE byData)
         DIDO set dout port default value function.
    Parameters
         HANDLE : Handle of DIDO device.
         BYTE : Dout data.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • GetDout()
    int GetDout(HANDLE hHandle, PBYTE pbyData)
         DIDO get dout port function.
    Parameters
         HANDLE : Handle of DIDO device.
         PBYTE : Potinter to get Dout data.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • GetDin()
    int GetDin(HANDLE hHandle, PWORD pwData)
         DIDO get din port function.
    Parameters
         HANDLE : Handle of DIDO device.
         PWORD : Potinter to get Din data.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • GetCounter()
    int GetCounter(HANDLE hHandle, int iCounterId, PDWORD pdwData)
         DIDO get counter value function.
    Parameters
         HANDLE : Handle of DIDO device.
         int : ID of counter. DIDO_COUNTER0_ or DIDO_COUNTER1_
         PDWORD : Pointer to get counter value.
    Returns
         int : Error code. SERI_ERROR_xxx_
  • SetCounter()
    int SetCounter(HANDLE hHandle, int iCounterId, int iControl)
         DIDO counter contrl function.
    Parameters
         HANDLE : Handle of DIDO device.
         int : ID of counter. DIDO_COUNTER0_ or DIDO_COUNTER1_
         int : Control code. DIDO_COUNTER_xxx_
    Returns
         int : Error code. SERI_ERROR_xxx_