今回はSmartEssからのハイブリッドインバーターの遠隔設定方法です♪
⇓ PCからDessmonitorを使用しての遠隔操作方法はこちらを参照
まず、SmartESSでデバックモードに入る方法は、SmartEssを開いてデータロガーと表示されている帯の部分をタップする
データロガーの詳細画面になるので、右上の歯車をタップし、「データのデバッグ」を選択
これでデバッグモードになります( *・ω・)ノ
ハイブリッドインバーターの設定項目一覧のコマンドコードは下記になります。
データ読み出し用コード(表1)
HYP4850U100-Hから吸出したデータですが、SRNE系のハイブリッドインバーターの設定番号は統一されているので、HF系やASF系やSPI系でも問題なく使用できます( *・ω・)ノ
※追記
設定39以降については水色部分のレジスタアドレスを書込みデータ一覧を参照に書換えて、赤字の部分のCRCチェックを書換えれば読出し可能です。
上記コードを送信すると、当方のHYP4850U100-Hでは、下記表の受信データが返ってきます。
データの意味は、
グレーの部分⇒機器アドレス
黄色の部分⇒ファンクションコード(03h:データ読み出し)
ピンクの部分⇒バイト数
水色の部分⇒バイト数分のデータ
赤色の部分⇒最後の2バイトCRCチェックコード
設定38以降のデータについてはModbus資料に該当するアドレスがないので詳細不明ですが、受信データから
0xE118⇒Model output power : 5.0kW
0xE11F⇒Model PV voltage : 500V
0xE120⇒PV chargeing current : 100.0A
と判別はできます。
CRCチェックコードについては⇓で計算可能♪
こちらのサイトの使用方法は、
使い方は、上に送信データ(CRCチェックを除く)を打ち込み、
Input⇒HEX(16進数)
Output⇒HEX(16進数)
にチェックを入れて、CRC-16/Modbusをクリック
すれば、Resultの下にCRCコードが作成されます。
CRCコードは下位1バイト、上位1バイトを送信データに添付します。
⇑の場合、01 03 e0 1b 00 01 c3 cdで、デバッグコードとなります。
今回はiPowerを使用しなくてもCRCを作成する方法です。
一番上の表1より、アドレス0xE01Bは設定4となっています。
これをデバッグコードとして送信すれば、設定4のデータが返ってきます♪
010302007bfb67というデータが返ってきました。
01⇒機器アドレス
03⇒ファンクションコード(データ読み出し)
02⇒バイト数
007b⇒データ(123⇒12.3V≒49.2V)
fb67⇒CRCチェック(0x67fb)
必要なデータは007bで、16進数から10進数に変換すると123という数値になります。
⇓ 16進数⇒10進数の変換
Excelの場合、
=HEX2DEC(7b)
で変換ができます。
前回の記事に記載した計算方法で、
設定4の設定値は123⇒49.2Vということになります。
さて、次はハイブリッドインバーターの設定を変更する方法ですね。
設定変更の場合は、ファンクションコードが10hになります。
設定1~62の変更用コード一覧を作成しました。
⇓ データ書込みコード一覧表(画像が荒かったので2023/4/22更新)
送信データ内の赤字はCRCチェックで、CRCcalcサイトで計算した結果を入力しているだけで、実際コードが通るかどうか一部しかチェックはしていません。訂正箇所があれば随時訂正します(;´∀`)
また設定電圧や設定電流の数値は、細かく指定できるので好みの設定値に変更してCRCチェックを再計算して入力すれば良いです( *・ω・)ノ
とりあえず使えそうな設定項目だけ作ってみました。
データの詳細は
01⇒機器コード(1バイト)
10⇒ファンクションコード書込み(1バイト)
xxxx⇒アドレス(2バイト)
0001⇒定数(2バイト)
02⇒バイト数(1バイト)
xxxx⇒設定値(2バイト)
xxxx⇒CRCチェック(2バイト)
送信したCRC値が正しくなければハイブリッドインバーター側で受信できず、データが返ってきません。
書込みが成功した場合は、送信データの前半6バイト+CRCチェックが返ってきます。
⇑ AC充電電流を15Aで設定(設定28)
アドレスデータに関しては、Modbus資料とiPowerでの吸出しデータと設定値を照らし合わせて確認しているので問題ありませんが、設定34についてはModbus資料には無く吸出しデータだけなので憶測です( ;´・ω・`)
設定39以降は資料にないアドレスなので、検証結果から特定しています。資料上は別の機能となっているアドレスも存在するので、タイムスロット機能等を搭載していない場合、該当しない機種の可能性もあります。
また、設定56のアドレスは、まだ特定できていません。
メモ帳にコード一覧を保存しておいて、コピペすると良いです。
ちなみにHYP4850U100-hのように、並列接続モデルのハイブリッドインバーターの場合、マスター側のハイブリッドインバーターしか設定データを読み書きできません。
これはUSB接続のiPowerでも同じです。
SmartEssで各ステータスは読み出しできているので、設定に関するデータだけだと思います。
稼働中のハイブリッドインバーターの設定なんて余程触らないとは思いますが、
・インバーター出力中に、強制的にバイパス出力に切り替えたい時
設定1⇒AC1stへ変更
・バイパス出力中に、強制的にインバーター出力へ切替えたい時
設定1⇒BATT1stへ変更
・AC充電電流を日によって変更したい場合
設定28⇒電流値の変更
あたりは使えますね(;´∀`)
また、iPowerと同様で充電電流やインバーター出力電圧は本来の設定値よりも細かく設定が可能なので、出力電圧に不満がある場合は0.1V単位で設定可能です。
ハイブリッドインバーターの設定に関するアドレスは0xExxxなので、Modbus資料で使用されていないアドレスをしらみ潰しにしていけば、タイムスロット設定やSOC設定も判明するとは思いますが、4000もアドレスがあるので調べるのは大変です…
恐らくアドレス前半にあると思うので、厳密には700程度だと思いますが…
個人的にはSOC設定項目のアドレスが知りたい…( ;´・ω・`)
設定一覧の書込みコード表(設定1~設定62)は更新済みです。