adr(Byte)

Similar documents
USB-CUnet 製品別マニュアル

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10


テーマ 使用機器 機器構成 Application Note 資料作成 資料番号 an2k-002 RS-485 接続温湿度計の記録と取り出しその 1 USB メモリと CUnet を使った 2 通りのデータログ方法です MPC-2100,MPC-Cunet,MRS-MCOM,USB-

MPC プログラム 青 文 字 が AD の 主 要 な 部 分 です CUNET TIME 5 CU_POST QUIT 1 FORK 1 *PULSE_AD FOR I=10 TO 20 QUIT I FORK I *DUMMY NEXT I /* SA,OWN,EN /* CUne

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

3軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要

FSC FSC-110 通信仕様書 (CC-Link 通信プロトコル )

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

UIOUSBCOM.DLLコマンドリファレンス

VFD256 サンプルプログラム

RP-VL-S-01, RP-VL-R-01

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

MPC プログラム CUNET CU_POST MEWNET S_MBK &H20 8 OFF CNFG# 5 RS485 "9600b7pes1NONE" FOR I=100 TO 131 S_MBK 0 I NEXT I S_MBK 0 200~Wrd *

PowerTyper マイクロコードダウンロード手順

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

SP-1221 LIN I/F 基板 ユーザーズマニュアル 作成日 :2017 年 10 月 17 日

Microsoft Word - DT-5100Lib_Manual_DotNet.doc

1) 書込 読出機器構成 KEYENCE KV-7500~MPC 接続 KV-7500 の PLC リンクモードを用いて MPC と通信します KV STUDIO Ver9 KV-7500 KV-XL202 Ref No:ti2K Last Modify バス接続ユニット

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

プロセス間通信

メモリー MAP Data エリア [MPC] [ パネル ] MBK(0) = DT00000 : : MBK(7899) = DT07899 DT10000 DT10012 : タッチパネル DT (MPC Control) MPC 変数 2word SYSCLK の値 (2word Syste

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

CUstation-LAN ハードウェアマニュアル

<リスト1> AD コンバータへのデータの出力例 NEC PC98 用 mov al,22h // CLK -> 1, CS -> 0, DI -> 0 out 32h,al // シリアル ポートにデータ出力 PC/AT 互換機用 mov al,00h // CLK -> 1 mov dx,3fb

Microsoft PowerPoint - フェリカ通信仕様書_


論文番号 分 2-2 平成 24 年度全国情報技術教育研究会第 41 回全国大会 ( 新潟大会 ) Xbee を活用した無線通信の研究 期日平成 24 年 8 月 9 日 ( 木 )~10 日 ( 金 ) 場所長岡市シティホールプラザ アオーレ長岡 香川県立三豊工業高等学校 電子科 本行

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps

パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソ

TWE-Lite R 取扱説明書

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

概要

AN424 Modbus/TCP クイックスタートガイド CIE-H14

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

Singapore Contec Pte Ltd. Opening Ceremony

AKI-PIC16F877A開発キット (Ver1

Microsoft Word - XPC4ソフトマニュアル.doc

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

スライド 1

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

AP-RZA-1A シリアルFlashROMの書き込み方法

ReTRY HUB

ピコ秒パルスレーザ基板ライブラリ (tmhidld.dll) 説明書 珠電子株式会社 2013/04/30 概要 ピコ秒パルスレーザ基板を制御するための.Net Framework 4.0 ライブラリについて説明します ユーザアプリケーション (VB.net VC.net VC#.net LabVI

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

共通部機器仕様構造 : 壁取付シャーシに避雷器 モデム 入出力ユニットをマウント接続方式 回線 :M4 ねじ端子接続 入出力 電源 :M3.5 ねじ端子接続 接地 :M4 ねじ端子接続シャーシ材質 : 鋼板に黒色クロメート処理ハウジング材質 : 難燃性黒色樹脂アイソレーション : 回線 - 入出力

CommCheckerManual_Ver.1.0_.doc

アナログ・接点変換器

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

プリンタ印字用 DLL 取扱説明書

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

ルーレットプログラム

知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス 9.0

MS5145 USB シリアル エミュレーション モードの設定

MODBUS ユーザーズマニュアル 페이지 1 / 23

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

ライブラリー関数リファレンス

PLC-Remote取扱説明書

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

機能 SB-2000 は無線機とコンピュータを接続するインターフェースです CAT, CI/V を経由したリグ制御 CAT や CI/V のリグ制御のインターフェースを持っています この接続でリグを制御できます RTTY, PSK31, SSTV, FAX, その他のデジタルモードが運用できます広く

IP RFID RFID IP RFID IP RFID IP RFID IP RFID IP RFID RFID RFID RFID RFID RFID POS IP RFID i

Time Server Pro. TS-2910 リリースノート お客様各位 2019/09/13 セイコーソリューションズ株式会社 Time Server Pro.(TS-2910/TS-2912) システムソフトウェアリリースノート Ver2.1.1 V2.2 変更点 Version 2.2 (

バスケットボール

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

ファイル操作

ICONファイルフォーマット

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

形式 :R3-NCIE1 リモート I/O 変換器 R3 シリーズ 通信カード (CC-Link IE Field ネットワーク用 ) 関連機器 コンフィギュレータソフトウェア ( 形式 :R3CON) コンフィギュレータソフトウェアは 弊社のホームページよりダウンロードして下さい 本器をパソコンに

GR-SAKURA-SAのサンプルソフト説明

ワイヤレスバーコードリーダー CM-520W1 設定資料 Bluetooth SPPの設定

PRONETA

Transcription:

CUnet の使い方 June 25,2009 CUnetとは... 2 MPC-CUnet USB-CUnetの概要... 2 デモ機の構成とCUnetグローバルメモリのイメージ... 4 制御イメージ... 4 usbcunetライブラリコマンド 関数 (VB6 標準モジュール宣言例 )... 5 デモ機 CUnet I/O MAP... 6 2 バイト長以上のデータの読み書き... 8 VB2008 Express Editionでのusbcunet.dll 使用例... 9 Delphiでのusbcunet.dll 使用例... 10 MPC-CUnet USB-CUnet のLED... 11 MPC-CUnet USB-CUnet の終端抵抗... 11 通信仕様... 12 CUnetのパケット受信時の検定... 12 出典 資料... 13 ACCEL Page 1 of 13

CUnet とは CUnet は ステップテクニカ社のオリジナル通信方式であり シリアル通信回線で接続された複数の拠点間で 同一メモリ空間をリアルタイムで共有するリモートメモリ共有技術です MPC-CUnet USB-CUnet は CUnet デバイス MKY40 を搭載した通信システムで 複数の MPC 間 MPC ~PC 間のメモリ共有を実現します MPC-CUnet USB-CUnet の概要 CUnet のグローバルメモリは 512byte です 8byte を一ブロックとして 64 ブロックを SA0~SA63 として管理します 各 CUnet ステーション (MKY40) は すべてのエリアの値を読み取り参照することができます 対して 書き換えることのできるエリアは 開始ブロックのステーションアドレス (SA) と占有ブロック数 (OWN) で指定します MPC-2000 のコマンドでは以下のようにします CUNET 5 4 31 5 ( 開始ブロック ) SA5~ 4 ( 占有ブロック数 ) 4ブロック占有する (SA8まで) 31 ( 共有ブロック ) 共有エリアを31までに限定する この例では SA5~SA8 を書き換え可能となります このエリアに対応するアドレスは IN/OUT では 2040~2071 です このため OUT コマンドでは OUT dat 2043 などと使用することができます ON/OFF では 2320~2575 が対応することになります IN(),SW() は どのステーションからでも使用することができます 共有ブロックとは MKY40 が常時通信により メモリを同期化させるブロック数です ここでは 31 としているため SA32~SA63 は 同期しません 同期エリアを制限すると 全体が同一データになるまでの時間が短縮できます 512byte 64 ブロックすべてを共有する場合で約 2.5msec 256byte 32 ブロックでは 1.2msec 16byte 2 ブロックでは 102μ 秒となります 必要に応じて調整します SA CUnet Address IN/OUT バンク番号 ON/OFF/SW ビット番号 0 0~7 2000~2007 2000~2063 1 8~15 2008~2015 2064~2127 2 16~23 2016~2023 2128~2191 3 24~31 2024~2031 2192~2255 4 32~39 2032~2039 2256~2319 5 40~47 2040~2047 2320~2383 6 48~55 2048~2055 2384~2447 7 56~63 2056~2063 2448~2511 8 64~71 2064~2071 2512~2575 9 72~79 2072~2079 2576~2639 10 80~87 2080~2087 2640~2703 11 88~95 2088~2095 2704~2767 12 96~103 2096~2103 2768~2831 13 104~111 2104~2111 2832~2895 14 112~119 2112~2119 2896~2959 ACCEL Page 2 of 13

15 120~127 2120~2127 2960~3023 16 128~135 2128~2135 3024~3087 17 136~143 2136~2143 3088~3151 18 144~151 2144~2151 3152~3215 19 152~159 2152~2159 3216~3279 20 160~167 2160~2167 3280~3343 21 168~175 2168~2175 3344~3407 22 176~183 2176~2183 3408~3471 23 184~191 2184~2191 3472~3535 24 192~199 2192~2199 3536~3599 25 200~207 2200~2207 3600~3663 26 208~215 2208~2215 3664~3727 27 216~223 2216~2223 3728~3791 28 224~231 2224~2231 3792~3855 29 232~239 2232~2239 3856~3919 30 240~247 2240~2247 3920~3983 31 248~255 2248~2255 3984~4047 32 256~263 2256~2263 4048~4111 33 264~271 2264~2271 4112~4175 34 272~279 2272~2279 4176~4239 35 280~287 2280~2287 4240~4303 36 288~295 2288~2295 4304~4367 37 296~303 2296~2303 4368~4431 38 304~311 2304~2311 4432~4495 39 312~319 2312~2319 4496~4559 40 320~327 2320~2327 4560~4623 41 328~335 2328~2335 4624~4687 42 336~343 2336~2343 4688~4751 43 344~351 2344~2351 4752~4815 44 352~359 2352~2359 4816~4879 45 360~367 2360~2367 4880~4943 46 368~375 2368~2375 4944~5007 47 376~383 2376~2383 5008~5071 48 384~391 2384~2391 5072~5135 49 392~399 2392~2399 5136~5199 50 400~407 2400~2407 5200~5263 51 408~415 2408~2415 5264~5327 52 416~423 2416~2423 5328~5391 53 424~431 2424~2431 5392~5455 54 432~439 2432~2439 5456~5519 55 440~447 2440~2447 5520~5583 56 448~455 2448~2455 5584~5647 57 456~463 2456~2463 5648~5711 58 464~471 2464~2471 5712~5775 59 472~479 2472~2479 5776~5839 60 480~487 2480~2487 5840~5903 61 488~495 2488~2495 5904~5967 62 496~503 2496~2503 5968~6031 63 504~511 2504~2511 6032~6095 ACCEL Page 3 of 13

デモ機の構成と CUnet グローバルメモリのイメージ 各ステーションが 4 ブロックずつ占有 全部で 12 ブロックを共有します USB 2.0 USB-CUnet PC アプリケーション cunet_init 0,4,12 MPC#2 MPC-CUnet CUNET 8, 4,12 SA8 ~SA11 SA0 ~SA3 CUnet グローバルメモリ SA4 ~SA7 占有したブロックにだけ書ける 全てのブロックから読める CUnet MPC#1 MPC-CUnet CUNET 4, 4,12 CUnet 制御イメージ MPC#1 = XY03 の現在座標値を PC に送ります また MPC#2 の I/O を制御します MPC#2 = PC アプリケーションと MPC#1 のリモート I/O として動作します XY03 X(0),Y(0),Z(0) MPC#1 MPC#2 OUT IN OUT IN ACCEL Page 4 of 13

usbcunet ライブラリコマンド 関数 (VB6 標準モジュール宣言例 ) Declare Function cunet_usb_open Lib "usbcunet.dll" () As Long 'USB オープン ' 引数 : 無し 戻値 :1= 成功 1<> 失敗 Declare Function cunet_fw_vid Lib "usbcunet.dll" () As Long 'VID 取得 ' 引数 : 無し 戻値 :VID 番号 Declare Function cunet_fw_pid Lib "usbcunet.dll" () As Long 'PID 取得 ' 引数 : 無し 戻値 :PID 番号 Declare Function cunet_fw_ver Lib "usbcunet.dll" () As Long ' ファームウェアのバージョン番号取得 ' 引数 : 無し 戻値 :Ver 番号 Declare Function cunet_dll_ver Lib "usbcunet.dll" () As Long 'DLL のバージョン番号取得 ' 引数 : 無し 戻値 :Ver 番号 Declare Sub cunet_init Lib "usbcunet.dll" (ByVal sa As Long, ByVal ow As Long, ByVal en As Long) ' 初期化 ' sa: 占有するブロックの先頭 SA(Station Address) の番号 例 ) SA0~SA3 を占有するなら sa=0,sa12~sa15 なら sa=12 ' ow: 占有するブロック数 例 ) SA0~SA3 を占有するなら ow=4,sa12~sa15 も ow=4 ' en: 共有するブロック数 例 ) SA0~SA15 を共有するなら en=16 ' 戻値 : 無し Declare Function cunet_in Lib "usbcunet.dll" (ByVal adr As Long, ByVal siz As Long) As Long ' パラレル読み込み 全てのブロックを参照可能 ' adr: バンク番号 (2000~) ' siz: 読み込みサイズ Declare Sub cunet_out Lib "usbcunet.dll" (ByVal dat As Long, ByVal adr As Long, ByVal siz As Long) ' パラレル書き込み 占有したブロックのみ ' dat: 書き込みデータ ' adr: バンク番号 (2000~) ' siz: 書き込みサイズ Declare Function cunet_sw Lib "usbcunet.dll" (ByVal adr As Long) As Long ' ビット読み込み 全てのブロックを参照可能 ' adr: ビット番号 (2000~) ' 戻値 :1= オン 0 オフ Declare Sub cunet_on Lib "usbcunet.dll" (ByVal adr As Long) ' ビットオン 占有したブロックのみ ' adr: ビット番号 (2000~) ' 戻値 : 無し Declare Sub cunet_off Lib "usbcunet.dll" (ByVal adr As Long) ' ビットオフ 占有したブロックのみ ' adr: ビット番号 (2000~) ' 戻値 : 無し '================================================================= ' 定数 '================================================================= 'cunet_in cunet_out のサイズ Public Const Cu_Chr = 1 '1byte 符号無 Public Const Cu_Int = 2 '2Byte 符号付 Public Const Cu_Wrd = 4 '2Byte 符号無 Public Const Cu_Lng = 8 '4Byte 符号付 ACCEL Page 5 of 13

デモ機 CUnet I/O MAP 機器 PC (VB) MPC #1 SA 0 1 2 3 4 5 6 7 UCnet IN/OUT ON/OFF/SW Offset Address バンク番号ビット番号 内容 00 0 2000 2000~2007 01 1 2001 2008~2015 02 2 2002 2016~2023 03 3 2003 2024~2031 04 4 2004 2032~2039 05 5 2005 2040~2047 06 6 2006 2048~2055 07 7 2007 2056~2063 08 0 2008 2064~2071 09 1 2009 2072~2079 10 2 2010 2080~2087 11 3 2011 2088~2095 12 4 2012 2096~2103 13 5 2013 2104~2111 bit2104 インターロック座標読込完了 14 6 2014 2112~2119 15 7 2015 2120~2127 16 0 2016 2128~2135 MPC#2 出力 17 1 2017 2136~2143 MPC#2 出力 18 2 2018 2144~2151 19 3 2019 2152~2159 20 4 2020 2160~2167 21 5 2021 2168~2175 22 6 2022 2176~2183 23 7 2023 2184~2191 24 0 2024 2192~2199 25 1 2025 2200~2207 26 2 2026 2208~2215 27 3 2027 2216~2223 28 4 2028 2224~2231 29 5 2029 2232~2239 30 6 2030 2240~2247 31 7 2031 2248~2255 32 0 2032 2256~2263 X 軸座標 33 1 2033 2264~2271 34 2 2034 2272~2279 35 3 2035 2280~2287 36 4 2036 2288~2295 Y 軸座標 37 5 2037 2296~2303 38 6 2038 2304~2311 39 7 2039 2312~2319 40 0 2040 2320~2327 Z 軸座標 41 1 2041 2328~2335 42 2 2042 2336~2343 43 3 2043 2344~2351 44 4 2044 2352~2359 bit2352 チャック状態 45 5 2045 2360~2367 bit2360 インターロック座標書込完了 46 6 2046 2368~2375 47 7 2047 2376~2383 48 0 2048 2384~2391 MPC#2 出力 49 1 2049 2392~2399 MPC#2 出力 50 2 2050 2400~2407 51 3 2051 2408~2415 52 4 2052 2416~2423 53 5 2053 2424~2431 54 6 2054 2432~2439 55 7 2055 2440~2447 56 0 2056 2448~2455 (MPC#2 入力 ) 57 1 2057 2456~2463 58 2 2058 2464~2471 59 3 2059 2472~2479 60 4 2060 2480~2487 61 5 2061 2488~2495 62 6 2062 2496~2503 63 7 2063 2504~2511 ACCEL Page 6 of 13

機器 MPC #2 SA 8 9 10 11 CUnet IN/OUT ON/OFF/SW Offset Address バンク番号ビット番号 64 0 2064 2512~2519 MPC#2 入力 65 1 2065 2520~2527 66 2 2066 2528~2535 67 3 2067 2536~2543 68 4 2068 2544~2551 69 5 2069 2552~2559 70 6 2070 2560~2567 71 7 2071 2568~2575 72 0 2072 2576~2583 73 1 2073 2584~2591 74 2 2074 2592~2599 75 3 2075 2600~2607 76 4 2076 2608~2615 77 5 2077 2616~2623 78 6 2078 2624~2631 79 7 2079 2632~2639 80 0 2080 2640~2647 MPC#2 入力 81 1 2081 2648~2655 82 2 2082 2656~2663 83 3 2083 2664~2671 84 4 2084 2672~2679 85 5 2085 2680~2687 86 6 2086 2688~2695 87 7 2087 2696~2703 88 0 2088 2704~2711 89 1 2089 2712~2719 90 2 2090 2720~2727 91 3 2091 2728~2735 92 4 2092 2736~2743 93 5 2093 2744~2751 94 6 2094 2752~2759 95 7 2095 2760~2767 プログラム例 SA(Station Address) 8 バイト =1 ブロックでの通し番号 MPC の CUNET と usbcunet.dll の cunet_init コマンドの引数にはこの値を使います CUnet Address バイトの通し番号 Offset ブロック内のバイト番号 MPC プログラムで予約定数 SAm_B+n を使ったときの n になります IN/OUT バンク番号 パラレル入出力の番号 ON/OFF/SW ビット番号 ビット入出力の番号 SA IN/OUT バンク番号 ON/OFF/SW ビット番号は MPC usbcunet.dll 共通です ACCEL Page 7 of 13

2 バイト長以上のデータの読み書き MPC および usbcunet.dll と UCnet(MKY40) 間のデータは 8 ビットアクセスです グローバルメモリーに反映させるまでにバイト単位でタイムラグが発生することが想定されますので 2 バイト 長以上のデータの授受を行う場合にはインターロックを推奨します VBプログラム Do ' 書込完了待ち If cunet_sw(2360) = 1 Then Exit Do DoEvents Loop xpos = cunet_in(2032, Cu_Lng) 'X 座標読込 ypos = cunet_in(2036, Cu_Lng) 'Y 座標読込 Zpos = cunet_in(2040, Cu_Lng) 'Z 座標読込 cunet_on 2104 ' 読込完了セット Do If cunet_sw(2360) = 0 Then Exit Do DoEvents Loop cunet_off 2104 ' 読込完了リセット MPCプログラム OUT X(0) 2032~Lng /* X 座標セット (4 バイト長 ) OUT Y(0) 2036~Lng /* Y 座標セット (4 バイト長 ) OUT Z(0) 2040~Lng /* Z 座標セット (4 バイト長 ) TIME 5 /* 必要に応じて ON 2360 /* 書込完了セット WAIT SW(2104)=1 /* 読込完了待ち OFF 2360 /* 書込完了リセット WAIT SW(2104)=0 ( 実用上もデータ授受のタイミングを計るためにインターロックは必要です ) ACCEL Page 8 of 13

VB2008 Express Edition での usbcunet.dll 使用例 VB6 と Express Edition はデータ型のサイズが異なります VB6 : 32bit = Long Express Edition : 32bit = Integer Module1.vb ファイル Module Module1 Declare Function cunet_usb_open Lib "usbcunet.dll" () As Integer Declare Function cunet_fw_vid Lib "usbcunet.dll" () As Integer Declare Function cunet_fw_pid Lib "usbcunet.dll" () As Integer Declare Function cunet_dll_ver Lib "usbcunet.dll" () As Integer Declare Function cunet_fw_ver Lib "usbcunet.dll" () As Integer Declare Sub cunet_init Lib "usbcunet.dll" (ByVal sa As Integer, ByVal ow As Integer, ByVal en As Integer) Declare Function cunet_in Lib "usbcunet.dll" (ByVal adr As Integer, ByVal siz As Integer) As Integer Declare Sub cunet_out Lib "usbcunet.dll" (ByVal dat As Integer, ByVal adr As Integer, ByVal siz As Integer) Declare Sub cunet_on Lib "usbcunet.dll" (ByVal adr As Integer) Declare Sub cunet_off Lib "usbcunet.dll" (ByVal adr As Integer) Declare Function cunet_sw Lib "usbcunet.dll" (ByVal adr As Integer) As Integer Public Const Cu_Chr As Integer = 1 Public Const Cu_Int As Integer = 2 Public Const Cu_Wrd As Integer = 4 Public Const Cu_Lng As Integer = 8 End Module Form1.vb ファイル Public Class Form1 Private Sub Button_start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_start.Click Label1.Text = cunet_usb_open Label2.Text = Hex$(cunet_fw_vid) Label3.Text = Hex$(cunet_fw_pid) Label4.Text = cunet_fw_ver Label5.Text = cunet_dll_ver cunet_init(0, 4, 12) End Sub Private Sub Button_on_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_on.Click cunet_on(textbox1.text) End Sub Private Sub Button_off_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_off.Click cunet_off(textbox1.text) End Sub Private Sub Button_sw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_sw.Click Label6.Text = cunet_sw(textbox2.text) End Sub Private Sub Button_out_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_out.Click cunet_out("&h" + TextBox3.Text, TextBox4.Text, Cu_Lng) End Sub Private Sub Button_in_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_in.Click Label7.Text = Hex$(cunet_in(TextBox5.Text, Cu_Lng)) End Sub End Class ACCEL Page 9 of 13

Delphi での usbcunet.dll 使用例 宣言 function cunet_usb_open(): Integer; stdcall; external 'usbcunet.dll'; function cunet_fw_vid(): Integer; stdcall; external 'usbcunet.dll'; function cunet_fw_pid(): Integer; stdcall; external 'usbcunet.dll'; function cunet_fw_ver(): Integer; stdcall; external 'usbcunet.dll'; function cunet_dll_ver(): Integer; stdcall; external 'usbcunet.dll'; procedure cunet_init(sa, ow, en :integer); stdcall; external 'usbcunet.dll' ; function cunet_in(adr, siz :integer): Integer; stdcall; external 'usbcunet.dll'; procedure cunet_out(dat, adr, siz :integer); stdcall; external 'usbcunet.dll'; function cunet_sw(adr:integer): Integer; stdcall; external 'usbcunet.dll'; procedure cunet_on(adr :integer); stdcall; external 'usbcunet.dll'; procedure cunet_off(adr :integer); stdcall; external 'usbcunet.dll'; 使用例 procedure TForm1.Button1Click(Sender: TObject); if cunet_usb_open()<>1 then memo1.lines.add('usb open failed'); exit; memo1.lines.add('successful open usb' ); memo1.lines.add('fw vid 0x'+inttohex(cunet_fw_vid(),4)); memo1.lines.add('fw pid 0x'+inttohex(cunet_fw_pid(),4)); memo1.lines.add('fw ver '+inttostr(cunet_fw_ver())); memo1.lines.add('dll ver '+inttostr(cunet_dll_ver())); cunet_init(strtoint(edit6.text),strtoint(edit7.text),strtoint(edit8.text)); procedure TForm1.Button2Click(Sender: TObject); var i:integer; i:=cunet_in(strtoint(trim(edit1.text)),1); label1.caption:='0x'+inttohex(i,2); procedure TForm1.Button3Click(Sender: TObject); var dt,adr:integer; dt:=strtoint('$'+trim(edit2.text)); adr:=strtoint(trim(edit3.text)); cunet_out(dt,adr,1); procedure TForm1.Button4Click(Sender: TObject); var i:integer; i:=cunet_sw(strtoint(trim(edit4.text))); label3.caption:=inttostr(i); procedure TForm1.Button5Click(Sender: TObject); var adr:integer; adr:=strtoint(trim(edit5.text)); cunet_on(adr); procedure TForm1.Button6Click(Sender: TObject); var adr:integer; adr:=strtoint(trim(edit5.text)); cunet_off(adr); ACCEL Page 10 of 13

MPC-CUnet USB-CUnet の LED MPC-CUnet USB-CUnet 共通 LED1 (R) LED2 (R) LED3 (G) LED4 (G) メンバー減少表示 (MKY40 #MCARE) リンク切れ表示 (MKY40 #LCARE) サイクル開始通知 (MKY40 #STB) リンク成立表示 (MKY40 #MON) 参考 : Let's Try! CUnet フィールドエンジニア編 ネットワークにおいて異常が発生した場合 どうなりますか? MEM モードの MKY40 接続概要図など メンバステータスが減少したときに 約 50ms 点灯 1 サイクルが 50ms 以内の場合 数サイクルに渡って 1 つのパルスが出力されることになります 点灯の可能性 : 外来ノイズによる通信障害 一旦リンクが成立していた装置が リンク不成立になったことを検出した時に 約 50ms 点灯 1 サイクルが 50ms 以内の場合 数サイクルに渡って 1 つのパルスが出力されることになります 点灯の可能性 :( 正常に共有動作を継続しているステーションで点灯 ) 通信ケーブルの断線 コネクタの外れ 装置の離脱 装置の電源断 ドライバ / レシーバ部品の故障 初期化 (CUNET,init_cunet) の不適合 サイクルの先頭で毎回パルスで通知します ( パルスが短くて LED では認識できません ) メンバステータスを持ったステーション ( 装置 ) が存在している時に点灯 ( 他装置とのメモリ共有がコンスタントにできていることを示す ) USB-CUnet LED5 (G) USB 電源 USB 通電中点灯 LED6 (G) MKY40 電源 MKY40 通電中点灯 LED7 (G) CPU(CY7C68013) 動作 ファームウェア動作中点滅 LED8 (G) USB アクセス PC が USB アクセス中点灯 MPC-CUnet USB-CUnet の終端抵抗 DIP1(DIP2) R2(R5) 200Ω R3(R6) 200Ω 1 2 内部回路 T1 J1 J3(J2) () 内は USB-CUnet のロケーション 参考 : CUnet テクニカルガイド ( ネットワーク用 ) 通信ケーブルにおける終端処理の原理 終端抵抗の具体的な接続など ACCEL Page 11 of 13

通信仕様 CUnet ステーション間 RS-485(SN75LBC176D) 転送レート 12Mbps Ethernet 通信ケーブル 10BASE-T Cat3 以上 かつ一括シールドの通信ケーブルの利用を推奨 参考 : CUnet テクニカルガイド ( ネットワーク用 ) 通信ケーブルの選択など PC/USB-Cunet 間 USB2.0 CUnet のパケット受信時の検定 CUnet 専用 IC には パケットを受信する際に以下の 3 つの検定を重畳して実行することが義務付けられています これにより一般的な通信によって生じがちなデータ化けの現象は 全く発生しません 1 フォーマット ( 構成形式 ) 検定 : パケットを受信し終えた瞬間に 特定のスタートパターンから始まるパケットの構成形式が CUnet プロトコルの規約に適合しているかを検定します 2 CRC-16 検定 : 一般にイーサネット LAN や大容量通信においては 数千 ~ 数万ビットの配列に対して 1 つの CRC-12 ブロックチェックコード (BCC) が利用されています これに対して CUnet プロトコルは 1 つのパケット ( 数百 ~ 数千ビットの配列 ) に付き CRC-12 よりも検定率の高い CRC-16 ブロックチェックコード (BCC) を採用しています このブロックチェックコードは パケットを受信し終えた瞬間に検定されます 3 RZ 信号形式の正当性検定 (RZ 検定 ): シリアル通信信号のパケットは 4.1 時間の基準単位 に記述された RZ(Return to Zero: マンチェスタ符号 とも呼ばれる ) のパルス配列から構成されています CUnet プロトコルにおいては 受信するパケットの信号が RZ の形式を保っているかを1ビット単位毎に検定します 参考 : CUnet 導入ガイド (CUnet プロトコル基本解説 ) データの品質保証など ACCEL Page 12 of 13

出典 資料 CUnet は 株式会社ステップテクニカの登録商標です 株式会社ステップテクニカ CUnet ユーザーズマニュアル 第 2 版 http://www.steptechnica.com/ Let's Try! CUnet 入門者編 フィールドエンジニア編 CUnet 導入ガイド (CUnet プロトコル基本解説 ) CUnet テクニカルガイド ( ネットワーク用 ) これらの資料から 引用または原文のまま掲載しています MPC-CUnet USB-CUnet は MKY40 の応用製品であり MKY40 の全機能が使えるわけではありません ACCEL Page 13 of 13