プロトコル

CC-Linkとは?CC-Link IE・Field Basicとの違いとサイクリック伝送の仕組みを実装目線で解説

CC-Linkとは?CC-Link IE・Field Basicとの違いとサイクリック伝送の仕組みを実装目線で解説

CC-Linkは、三菱電機が1990年代に開発し、いまはCC-Link協会(CLPA)が仕様を管理している国産の産業用ネットワークです。名前は同じでも、RS-485で配線する初代のCC-Link、1GbpsのCC-Link IE Field、汎用Ethernetにソフトウェアだけで載せるCC-Link IE Field Basic、TSNに対応した最新世代とで、配線も通信方式もまったく違います。この記事では世代ごとの違いを整理したうえで、初代の配線制約、リンクデバイスと占有局数の考え方、UDPの61450番で動くField Basicのサイクリック伝送を三菱電機のマニュアルに沿って説明し、リンクスキャンをPythonで実測するコードと、ゲートウェイで上位システムへつなぐときの判断まで扱います。

まとめ|CC-Linkは世代で別物と捉え上位連携はField Basicから考える

「CC-Link」と言われたら、まずどの世代の話かを確かめます。初代はRS-485の専用ケーブルで最大10Mbps、CC-Link IE FieldとTSNは1GbpsのEthernet、Field Basicは100Mbpsの汎用Ethernet上のUDPです。同じ協会の規格でも、配線部材も、つなげる機器も、PCから扱えるかどうかも違います。

既設ラインの初代CC-Linkは、伝送速度とケーブル総延長の組み合わせで制約が決まります。2024年には10Mbpsで総延長80メートルを超える構成に配線条件が追加されたため、増設や配線変更の前に確認が要ります。

PCや自社開発の機器をCC-Linkの網に参加させたいなら、検討の起点はField Basicです。専用ボードなしでマスタにもスレーブにもなれ、通信は標準のUDPで流れるため、パケットを見れば挙動を確かめられます。一方、稼働データをMESやクラウドへ集めるだけなら、CC-Linkの網に入るより、PLCからSLMPやOPC UAで取り出すほうが工数は小さく済みます。

CC-Linkの定義とCLPAが管理する4つの世代の通信方式の違い

CC-Linkの名称の由来と三菱電機から協会へ仕様管理が移った経緯

CC-LinkはControl & Communication Linkの略です。キーエンスのフィールドネットワーク解説によると、1990年代に三菱電機が開発したオープンネットワークで、2003年には大容量のデータ通信に対応したVer.2.0が出ています。仕様の管理と対応製品の認証はCC-Link協会が担い、他社製の機器もコンフォーマンス試験に通れば同じ網へ接続できます。

国内の加工組立ラインで見かける頻度が高いのは、三菱電機のPLCを中心に装置が組まれてきた経緯によるものです。産業用ネットワーク全体の中での位置づけはフィールドバスと産業用Ethernetの分類・規格選定で整理しているので、ここではCC-Linkファミリーの内側に絞ります。

初代・IE Field・Field Basic・IE TSNの速度と伝送方式の比較表

ファミリーの主要な4世代を、三菱電機のCC-Link IE仕様一覧と各製品の資料をもとに並べました。局数は三菱電機の代表的なマスタ製品での値です。

世代 物理層 速度 伝送方式 最大局数
CC-Link RS-485 最大10Mbps マスタ・スレーブ 65(マスタ含む)
CC-Link IE Field Ethernet 1Gbps トークンパッシング 121
CC-Link IE Field Basic 汎用Ethernet 100Mbps UDP 64
CC-Link IE TSN Ethernet 1Gbps・100Mbps 時分割 121

表から読み取ってほしいのは、IE FieldとField Basicが名前ほど近くないことです。IE Fieldは専用の通信LSIを積んだ機器がトークンを回す方式で、PCの標準NICでは参加できません。Field Basicは汎用EthernetのUDPなので、ソフトウェアだけで実装できる。この差が、後半で扱う「どこから上位へつなぐか」の判断を左右します。

CC-Link IE TSNの仕様公開と31.25マイクロ秒のリンクスキャン

最新世代のCC-Link IE TSNは、三菱電機の2019年3月の発表資料によると、2018年11月21日にCC-Link協会が仕様を公開しました。最小31.25マイクロ秒のリンクスキャンはCC-Link IEフィールドネットワークモーション比で16倍の速さとされ、254局構成でも通信の変動は±1マイクロ秒以下です。1Gbpsと100Mbpsの機器を1つの網に混在させられる点が、IE Fieldからの大きな変更になります。

三菱電機は2019年5月7日から、TSN対応のシーケンサやサーボアンプ、インバータなど102機種を順次発売しており、新規に装置を設計するなら候補に入ります。時分割の仕組みやTSNスイッチの選び方は本記事の範囲を超えるため、ここでは世代の位置づけだけ押さえてください。

初代CC-LinkのRS-485配線と伝送速度ごとのケーブル総延長の制約

156kbpsで1200m・10Mbpsで100mとなる速度と総延長の組み合わせ

初代のCC-LinkはRS-485をもとにしたバス配線で、両端に終端抵抗を付けます。通信フレームはHDLCに準拠し、マスタが全局を集中管理するため、スレーブ側での通信設定は要りません。伝送速度を上げるほど届く距離が短くなるため、配線長から速度を逆算します。

伝送速度 最大ケーブル総延長
156kbps 1200m
625kbps 900m
2.5Mbps 400m
5Mbps 160m
10Mbps 100m(条件付き)

局間のケーブル長は、どの速度でも20センチメートル以上です。長いコンベアラインで盤を数十メートルおきに置く構成なら、10Mbpsは最初から候補に入りません。速度を下げれば周期は伸びるため、制御の応答に要る周期と配線長を同時に満たせるかを先に確かめます。

2024年の配線条件変更で10Mbpsかつ80m超の構成に起きる制約

三菱電機の2024年6月のテクニカルニュースは、CC-Link協会の通信仕様変更に伴う配線条件の追加を案内しています。対象は伝送速度10Mbpsで総延長が80メートルを超える構成だけで、連続する10台をつなぐ局間ケーブルの合計を10メートル以上にする必要があります。マスタを含めて10台以下の網なら、この制約はかかりません。

既設ラインで機器を詰めて並べている場合は、増設のタイミングでこの条件に引っかかることがあります。同資料が示す対処は、速度を5Mbps以下に落とすか、IN側とOUT側で網を分けられるリピータ(AJ65SBT-RPT)を入れて、それぞれの総延長を80メートル以下にすることです。配線をやり直すより、速度を落として周期が足りるかを先に検証するほうが、ライン停止の時間を短くできます。

RX・RY・RWr・RWwのリンクデバイスとCSPファイルで機器をそろえる

CC-Linkでは、マスタとスレーブの間でやり取りする値を「リンクデバイス」と呼び、4種類に分けます。ビット単位の入力がRX、出力がRY、ワード単位の入力がRWr、出力がRWwです。MELSEC iQ-RのCC-Linkユニット(RJ61BT11)では、1つの網でRXとRYが各8192点、RWrとRWwが各2048点まで扱えます。

機器ごとに何点をどう使うかはプロファイルで決まっており、メーカーが配るCSPファイルをマスタ側に登録すれば、他社の機器とも点数の割り当てがそろいます。CSPファイルのない機器を手作業で割り当てると、ビットの並びを1つずれて読む事故が起きやすい。マスタの不調に備えて待機マスタ局を置けるのも初代からの機能で、停止の許されないラインでは二重化の構成を確かめておきます。

CC-Link IE Field BasicのUDP 61450番で動くサイクリック伝送

専用ASICを使わず汎用Ethernetに載せるField Basicの実装方式

Field Basicは、三菱電機の解説にあるとおり、専用ASICを使わずソフトウェアだけでサイクリック通信を実現する世代です。Ethernetポートを内蔵したPLCのCPUユニットがそのままマスタになり、HTTPやFTPなどのTCP/IP通信と同じ線で混在できます。

三菱電機のField Basicリファレンスマニュアル(SH-081684ENG)の性能仕様では、伝送速度100Mbps、局間100メートル、スター型とライン型(対応機器のみ)の配線です。リモート局側にマスタの情報を設定する必要はなく、IPアドレスとサブネットマスクを決めればつながります。

占有局数1〜4でRX・RYが64点刻み・RWr・RWwが32点刻みに増える

同マニュアルでは、リモート局1台が占める局数を1〜4の範囲で選べます。1局占有ならRXとRYが各64点、RWrとRWwが各32ワードで、占有局数を1つ増やすごとにこの点数が加わり、4局占有でRXとRYが各256点、RWrとRWwが各128ワードになります。

項目 MELSEC iQ-R MELSEC iQ-F(FX5 CPU)
リモート局の接続台数 64(16台×4グループ) 16
RX・RY(網全体) 各4096点 各1024点
RWr・RWw(網全体) 各2048ワード 各512ワード
サイクリック伝送のUDPポート 61450
接続機器の自動検出のUDPポート 61451(リモート局側)

点数を増やすと、その分だけ接続できる台数が減ります。2局占有のリモート局は、合計の局数では2台として数えるためです。1グループで扱える占有局数は16までで、17以上を使うときはグループを分けます。

マスタがブロードキャストで要求し全局の応答を待つリンクスキャン

マニュアルの動作説明では、マスタが全リモート局へ要求を送り、設定した全局から応答が返ったら次の要求を送ります。この1往復がリンクスキャンです。TIが公開しているマスタのサンプルコードでは、要求はSLMPのコマンド0x0E70として組み立てられ、サブネットのブロードキャストアドレスの61450番へ送られます。スレーブは受け取った要求の送信元へ応答を返す実装です。

応答の遅いリモート局が1台あると、網全体のリンクスキャンがその局に引きずられます。グループを分けると、グループごとに別々の周期で回せる。応答の速い局と遅い局を同じグループに入れない、というのがマニュアルの示す分け方です。

リンクスキャンの約5倍のタイムアウト設定と3回連続時の局切り離し

リモート局が電源断やケーブル抜けで応答しないと、マスタは設定したタイムアウト時間だけ待ってから次の要求に進みます。その周期のリンクスキャンはタイムアウト分だけ伸び、規定回数続くとその局を切り離す。マニュアルは、正常時のリンクスキャンが10ミリ秒なら、タイムアウトをその約5倍の50ミリ秒にする例を挙げています。TIのサンプルの既定値は500ミリ秒で3回です。

既定値のまま使うと、1台が抜けただけで残りの局の周期が数百ミリ秒単位で乱れます。タイムアウトは実測したリンクスキャンから決めること。次の章で、その実測の方法を示します。

TIのサンプルとPythonでField Basicのリンクスキャンを実測する手順

TI Processor SDKのマスタとスレーブのサンプルをビルドして動かす

Field Basicの動きを手元で確かめるなら、TI Processor SDK LinuxのCC-Link解説にあるマスタとスレーブのサンプルが使えます。ソースはCLPAに請求できるほか、TIのgitリポジトリにも置かれており、マスタ側のバージョン表記は1.01.4です。Linuxならターゲット上で次のようにビルドします。

cd CCIEF-BASIC_Master/build/linux && make   # Master_sample を生成
cd CCIEF-BASIC_Slave/build/linux && make    # Slave_sample を生成

# スレーブ側
Slave_sample /usr/share/cclink/SlaveParameter.csv
# マスタ側(MasterParameter.csv の「Slave1 IP address」をスレーブのIPに書き換えてから)
Master_sample /usr/share/cclink/MasterParameter.csv

TIの評価ボード向けのファイルシステムには、ビルド済みのバイナリが/usr/binに、設定ファイルが/usr/share/cclinkに入っています。サンプルはあくまで検証用で、製品として出荷する機器はCLPAのコンフォーマンス試験に通す必要があります。

scapyでUDP 61450番を受けて周期と局ごとの応答遅れを測るコード

既設の網でリンクスキャンを確かめたいときは、マスタになっているPCか、スイッチのミラーポートにつないだPCでパケットを受けます。要求はブロードキャストなので網内のどこでも見えますが、応答はマスタ宛ての1対1通信のため、ミラーポートでないと拾えません。次のスクリプトはscapyのsniff関数で61450番だけを受け、要求の間隔をリンクスキャンとして、要求から各局の応答までの時間を局ごとに集計します。

# measure_ccief_basic.py  使い方: sudo python measure_ccief_basic.py eth0 192.168.3.39
import sys
from collections import defaultdict
from scapy.all import sniff, IP, UDP, Raw

IFACE, MASTER = sys.argv[1], sys.argv[2]   # 受信するNIC名とマスタ局のIPアドレス
last_req = None                            # 直前の要求を受けた時刻
scans = []                                 # 要求の間隔=リンクスキャン[ms]
replies = defaultdict(list)                # リモート局ごとの応答遅れ[ms]

def on_packet(p):
    global last_req
    if IP not in p or UDP not in p or Raw not in p:
        return
    t = float(p.time)
    data = bytes(p[Raw].load)
    # 要求:マスタ発で、11〜12バイト目がコマンド0E70h(リトルエンディアン)
    if p[IP].src == MASTER and data[11:13] == b"\x70\x0e":
        if last_req is not None:
            scans.append((t - last_req) * 1000)
        last_req = t
    elif p[IP].dst == MASTER and last_req is not None:
        replies[p[IP].src].append((t - last_req) * 1000)

sniff(iface=IFACE, filter="udp port 61450", prn=on_packet, store=False, timeout=30)

def show(label, xs):
    xs.sort()
    print(f"{label}: {len(xs)}件 中央値{xs[len(xs) // 2]:.2f}ms 最大{xs[-1]:.2f}ms")

if scans:
    show("リンクスキャン", scans)
for ip, xs in sorted(replies.items()):
    show(f"応答 {ip}", xs)

コマンドの位置は、TIのサンプルが組み立てる要求の並び(サブヘッダ2バイト、ネットワーク番号から監視タイマまで計9バイト、続いてコマンド2バイト)から求めています。グループを分けた網では、グループごとの要求が交互に流れるため、要求の間隔はグループ単位の周期になりません。まず1グループの構成で測ってください。

実測した中央値と最大値からタイムアウトとグループ分けを決める

出力のうち見るのは2つです。リンクスキャンの最大値が中央値から大きく外れていれば、PLCのFTPやSLMP通信、同じ線の他の機器がリンクスキャンを押し広げています。マニュアルも、内蔵Ethernetの他の機能や同一線上の機器との通信でリンクスキャンが伸びると明記しています。

もう1つは局ごとの応答遅れです。他より1桁遅い局があれば、その局だけ別グループに分けると残りの局の周期が縮みます。タイムアウトは、こうして測った正常時のリンクスキャンの約5倍を目安に、GX Works3などのエンジニアリングツールで設定し直します。

他規格との相互接続とゲートウェイ設計で上位システムへつなぐ判断

CC-Linkの網に入らずSLMPやOPC UAでPLCから値を取り出す構成

工場の稼働データをMESやクラウドへ集める目的で、CC-Linkの網に新しい機器を参加させる必要はほとんどありません。CC-Linkの値はリンクリフレッシュでPLCのデバイスへ写されているため、PLCのEthernetポートからSLMPで読めば同じ値が取れます。SLMPとMCプロトコルの関係や収集周期の決め方は、PLCのデータ収集の四方式で詳しく扱っています。

複数メーカーのPLCが混在するラインなら、PLC側やゲートウェイでOPC UAサーバを立て、OPC UAの情報モデルとして公開するほうが上位の実装を共通化できます。クラウドへ送る区間は、Sparkplug BのようなMQTT上の規約へ載せ替えると、機器の死活と値を一緒に扱えます。

PROFINETやEtherCATの装置と混在するラインのゲートウェイ配置

海外製の装置を入れると、CC-Linkの網とPROFINETやEtherCATの網が同じラインに並びます。制御の周期で値を受け渡す必要がある箇所は、両方の規格に対応したゲートウェイ機器を介して、両方の網のリンクデバイスを写し合う構成です。上位へ渡すだけの値なら、各網のPLCから個別に取り出して上位で束ねるほうが、ゲートウェイの設定を保守する手間が減ります。

EtherCATがどこで定時性を作っているかはEtherCATのオンザフライ処理と分散クロックで、プロトコル変換をどの層に置くかはIoTゲートウェイの役割とクラウド直結との使い分けで整理しています。

Field Basicを自社機器へ実装する場面と見送る場面の線引き

ここは言い切ります。データを集めたいだけなら、Field Basicのスレーブを自作しないでください。CC-Link対応を名乗るにはコンフォーマンス試験を通す必要があり、PLC側の網の設定も変わるため、装置メーカーや設備保全との調整が先に要ります。

Field Basicの実装まで踏み込むのは、自社で販売する計測器や検査装置を、顧客の三菱電機系ラインへ専用ボードなしでつなげたい場合に限られます。その場合も、制御周期に関わる部分と上位連携の部分は、発注を分けたほうが責任の境界がはっきりする。当社では、PLCや装置から取り出したデータをOPC UAやMQTTで集約し、可視化や異常検知までつなぐ構成をAI/IoTソリューションとして請けています。既設ラインを止めずに切り替える手順は産業用ネットワークの導入手順を参照してください。

よくある質問

CC-Linkの仕組みと導入で寄せられやすい質問をまとめました。

CC-Linkとは簡単に言うとどのような通信ですか?

工場の装置の中で、PLCとセンサーやインバータ、リモートI/Oをつなぐ通信規格です。三菱電機が開発し、いまはCC-Link協会が管理しています。マスタになるPLCが一定周期で全機器と値をやり取りし、各機器の入力と出力はPLCのデバイスへ自動的に写されます。初代はRS-485の専用ケーブル、後継のCC-Link IEはEthernetを使う点が大きな違いです。

CC-LinkとCC-Link IEの違いは何ですか?

初代のCC-LinkはRS-485をもとにしたバス配線で最大10Mbps、CC-Link IE Fieldは1GbpsのEthernetでトークンパッシングを使います。ケーブルも通信用の部品も別で、同じ網には混在できません。両者の値を受け渡すときは、PLCのデバイスを介するか、両方に対応したゲートウェイ機器を使います。新規の装置なら、1Gbpsと100Mbpsの機器を混在できるCC-Link IE TSNも候補に入ります。

CC-Link IE Field Basicはパソコンからでも使えますか?

使えます。Field Basicは汎用EthernetのUDPで動き、専用のインタフェースボードを要しません。三菱電機のマニュアルでは、サイクリック伝送にUDPの61450番、接続機器の自動検出に使うのはリモート局側の61451番です。TIはLinux向けのマスタとスレーブのサンプルを公開しています。ただし対応製品として出荷するには、CC-Link協会のコンフォーマンス試験が要ります。

CC-Linkのケーブルはどこまで延ばせますか?

初代のCC-Linkは伝送速度で決まり、156kbpsで1200メートル、10Mbpsで100メートルが最大の総延長です。2024年の変更で、10Mbpsかつ80メートルを超える構成では、連続する10台の局間ケーブルの合計を10メートル以上にする条件が加わりました。CC-Link IE FieldとField Basicは、局間100メートルが基本です。

CC-Linkの機器から稼働データを集めるには何が必要ですか?

多くの場合、CC-Linkの網へ新しい機器を足す必要はありません。CC-Linkの値はマスタのPLCのデバイスへ写されているので、PLCのEthernetポートからSLMPで読むか、OPC UAサーバ経由で取り出します。収集の周期は制御の周期と分け、上位では意味のある単位に間引いて保存すると、データベースやネットワークの負荷を抑えられます。

関連記事

お気に入りに入れた記事の一覧

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.23 テックブログ Renta!不正アクセスでサービス停止:再開未定の現状と運営側の停止判断・証拠保全・段階的再開
  2. 2025.01.09 コラム アドレサブルCM(Addressable CM)とは?フジテレビで出る表示の意味・仕組みと視聴データの扱い
  3. 2026.10.21 テックブログ ふるさとチョイス不正アクセスで445万件流出:対象確認・パスワード変更と再開時期
  4. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】
  5. 2026.10.14 テックブログ ローソンID不正アクセス:215万件漏えいの対象確認と本物メールの見分け方

RELATED POSTS 関連記事

目次