<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OSP | じじぃの引出し</title>
	<atom:link href="https://www.kazuban.com/blog/tag/osp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kazuban.com/blog</link>
	<description>なにかしら、皆さんの参考になれば幸いです！</description>
	<lastBuildDate>Wed, 25 Dec 2024 02:15:19 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.kazuban.com/blog/wp-content/uploads/2020/05/cropped-ICON-1-32x32.png</url>
	<title>OSP | じじぃの引出し</title>
	<link>https://www.kazuban.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Fanuc から OSP へ 変換ソフト公開</title>
		<link>https://www.kazuban.com/blog/fanuc-to-osp/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Fri, 28 Oct 2022 08:53:01 +0000</pubDate>
				<category><![CDATA[NC]]></category>
		<category><![CDATA[フリーソフト]]></category>
		<category><![CDATA[OSP]]></category>
		<category><![CDATA[ファナック]]></category>
		<category><![CDATA[変換ソフト]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=7060</guid>

					<description><![CDATA[やはり、国内では二大巨頭だと思います。Fanuc と OSP。工具軌跡を定義する、基本的なGコードは、ほぼ同じですが、制御装置は各メーカーがそれぞれで開発しているので加工動作以外の機械動作や穴あけサイクルなどでは違いが多 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">やはり、国内では二大巨頭だと思います。Fanuc と OSP。<br>工具軌跡を定義する、基本的なGコードは、ほぼ同じですが、制御装置は各メーカーがそれぞれで開発しているので加工動作以外の機械動作や穴あけサイクルなどでは違いが多くあります。<br>このサイトでも、下記で説明してありますので、チェックしてみてください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-じじぃの引出し wp-block-embed-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/fanuc-vs-osp/" title="Fanuc と OSP の違い。" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="273" height="180" src="https://www.kazuban.com/blog/wp-content/uploads/2021/11/Logo-1.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2021/11/Logo-1.png 668w, https://www.kazuban.com/blog/wp-content/uploads/2021/11/Logo-1-300x198.png 300w" sizes="(max-width: 273px) 100vw, 273px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Fanuc と OSP の違い。</div><div class="blogcard-snippet internal-blogcard-snippet">昔の資料を整理していたところ、違いを書きだしたメモが出てきました。最近はあまり必要としていませんが、とりあえず、残しておこうと思います。もう、１５年以上前の資料なので、現在では変わっている箇所もあるかもしれません。この手の記事は、ネット上には沢山あると思うので、怪しい場合にはそちらも参考にしてくださ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.11.09</div></div></div></div></a>
</div></figure>



<p class="wp-block-paragraph">ここで書いた以外でも、機械特有の機能を操作するコードは、さらに違ってきます。<br>機種依存機能は、Fanuc、OSPなど違うメーカーと言うだけでなく、<br>同じFanuc機でも違ってきますので最終的には保有機械の取説で確認してください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">変換ソフト開発</a></li><li><a href="#toc2" tabindex="0">変換コード</a><ol><li><a href="#toc3" tabindex="0">ワーク座標系</a></li><li><a href="#toc4" tabindex="0">工具長補正</a></li><li><a href="#toc5" tabindex="0">原点復帰</a></li><li><a href="#toc6" tabindex="0">固定サイクル</a></li><li><a href="#toc7" tabindex="0">ドウェル</a></li><li><a href="#toc8" tabindex="0">その他</a></li><li><a href="#toc9" tabindex="0">仕様</a></li></ol></li><li><a href="#toc10" tabindex="0">変換プログラミング作成のポイント</a><ol><li><a href="#toc11" tabindex="0">コメント文</a></li><li><a href="#toc12" tabindex="0">NCワード</a></li><li><a href="#toc13" tabindex="0">工具呼び出しと工具交換</a></li><li><a href="#toc14" tabindex="0">サブプログラム構成</a></li></ol></li><li><a href="#toc15" tabindex="0">ソフト公開</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">変換ソフト開発</span></h2>



<p class="wp-block-paragraph">Fanuc、OSPに限らず、数種類のNC機を保有している場合、<br>CAMでNCデータを作成する場合では、CAMに各機械のポストプロセッサを用意して<br>各々専用のNCデータを準備するのが、一般的だと思います。<br>一番安心な方法かもしれませんが、機械の種類が増えてくると、結構面倒です。<br>機械操作側とデータ作成側が違う組織で、特にデータ修正作業を行い、<br>加工機械が変更になった場合などデータ管理ミスが発生する可能性もあります。<br>そんな事もあり、筆者は、CAMによるNCデータは一種類の標準構成のデータのみ作成し、<br>各機械へは自作したNCデータ変換ソフトにより各機械へ供給する方法で運用しています。<br>同じFanuc機でも機械オプションにより違いがありますが、Fanuc制御機同士であれば<br>冷却コードやコンベアなど補助コードの違いが多く基本的なコードは互換性も多いので、<br>文字列の変換程度で対応できる場合も多いと思います。<br>手打ち修正でもできなくはないですが、程度にもよりますが、<br>エクセルやエディタマクロでも対応できる場合もあると思います。<br>とりあえず実際に変換データで動作させ、実績が出てくれば非常に便利です。<br>ただ、Fanuc、OSPになると、重要なコードの違いも多いのでソフト開発も結構面倒ですね。<br>特に、加工動作に直接かかわる、ワーク座標系や工具長補正コードが違うのは厄介です。<br>今回は、投稿用として基本コードのみの仕様ですが、<a href="https://www.kazuban.com/blog/cbuilder-license-update/">C++Builder </a>で、<br>変換ソフトを作成しましたので、紹介したいと思います。</p>



<h2 class="wp-block-heading"><span id="toc2">変換コード</span></h2>



<h3 class="wp-block-heading"><span id="toc3">ワーク座標系</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>G54 ～ G59</td><td>G15H1 ～ G15H6</td></tr><tr><td>G54.1P1 ～</td><td>G15H1 ～</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">工具長補正</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>G43</td><td>G56</td></tr><tr><td>G49</td><td>G53</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">原点復帰</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>G28</td><td>なし（G00Z1000.0で代用）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">固定サイクル</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>G99</td><td>M54</td></tr><tr><td>G98</td><td>G71Z50.0 ;   M53</td></tr><tr><td>L0 または K0</td><td>NCYL</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">ドウェル</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>G04P2000____G04P2.0____G04X2.0</td><td>G04P2.0</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">その他</span></h3>



<figure class="wp-block-table is-style-regular has-medium-font-size"><table class="has-black-color has-text-color has-fixed-layout"><thead><tr><th>Fanuc</th><th>OSP</th></tr></thead><tbody><tr><td>%</td><td>なし</td></tr><tr><td>主軸工具呼び出し、OK</td><td>主軸工具呼び出し、NG</td></tr><tr><td>コメント ( ～ ） 複数行対応</td><td>コメント ( ～ ） 複数行NG</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">仕様</span></h3>



<p class="wp-block-paragraph">違いは、まだまだ、あると思いますが、同じメーカー製であっても機械仕様などでも変わってくるので、今回は上記の項目を変換対象にしようと思います。<br>また、今回のソフトは、サブプロ形式には、対応しません。<br>もし、サブプロを変換させたい場合には、下記ソフトでメインのみに変換させてください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-じじぃの引出し wp-block-embed-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/sub-to-package/" title="NCプログラム／メイン・サブ構成のNCデータを一本化（パッケージ化）したい場合もあるよね！" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img fetchpriority="high" decoding="async" width="320" height="164" src="https://www.kazuban.com/blog/wp-content/uploads/2020/02/SubToPackage.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2020/02/SubToPackage.png 680w, https://www.kazuban.com/blog/wp-content/uploads/2020/02/SubToPackage-300x154.png 300w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">NCプログラム／メイン・サブ構成のNCデータを一本化（パッケージ化）したい場合もあるよね！</div><div class="blogcard-snippet internal-blogcard-snippet">前回は、複数種類のマシニングセンターを運用する場合、「メイン・サブ仕様」の構成をお勧めしました。ただ、サブプロに対応していない制御機やシミュレーションソフトの場合や、データ管理的には、一つのパッケージのＮＣプログラムのほうがいい場合もあります。そこで、メインプログラムのサブプロ呼び出し指令「M98 ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.02.06</div></div></div></div></a>
</div></figure>



<h2 class="wp-block-heading"><span id="toc10">変換プログラミング作成のポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc11">コメント文</span></h3>



<p class="wp-block-paragraph">NCデータの処理をさせる場合で、結構面倒なのが、「コメント文」です。<br>人間へのメッセージとしては便利ですが、制御機的には、無視するコードです。<br>無視するので、GコードやMコードもコメントとして書くこともありますが<br>これが、変換ソフトにとっては厄介です。<br>単純な文字列変換だけでは、つじつまが合わなくなる可能性もあります。<br>変換をさせる場合、まずコメント文か純粋なNCコードかの判断が必要になります。</p>



<h3 class="wp-block-heading"><span id="toc12">NCワード</span></h3>



<p class="wp-block-paragraph">指令の最小単位が「ワード」です。<br>通常ワードは、<a href="https://www.kazuban.com/blog/nc-gcode-01/#outline__2">「アドレス（半角英文字）」と「数字・数値」で構成されています。</a><br>「アドレス」は「G」とか「M」とかですが、「数字」の部分が厄介です。<br>例えば、「G1」と「G01」は同じ意味です。<br>さらに、<a href="https://www.kazuban.com/blog/nc-gcode-02/#outline__2_1">モーダルという機能</a>があるので、そのコードがない場合でも、<br>前のコードを引き継いでいる場合もあります。<br>ここでも、単純な文字列変換だけでは、正常に変換できない可能性があります。<br></p>



<h3 class="wp-block-heading"><span id="toc13">工具呼び出しと工具交換</span></h3>



<p class="wp-block-paragraph">工具交換する場合には、「T数字」で指定番号の工具を待機させ、「M06」で主軸へ交換させます。<br>この指令もちょっと厄介です。機械構造により動作や指令方法が違う場合があります。<br>私の経験では、「T02 M06」と同じ行で指令しなければいけない機械と、逆に行をわける必要がある場合がありました。<br>さらに、「T02」の指令で、特別な工具待機位置へ移動する機械もありました。<br>変換ソフトを開発する場合、このへんも、少し頭に入れておく必要があります。<br>今回は、Fanuc から OSP へ変換する場合、基本的な単純な変換機能しか考えていませんが<br>筆者の知っているオークマの機械では、主軸工具の番号を呼び出し指令すると、アラームになった記憶があります。<br>ファナック機では、単純に無視するだけの機械もあったので、この部分は変換ソフトにも盛り込んだほうがよさそうです。<br>基本構成としては、主軸工具を呼び出すコードが来た場合、コメント文に変更しようと思います。<br>ただし、次工具を事前に呼びだしておいて、さらにその工具番号を呼び出す場合は？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">T10 M06<br>T11<br>・<br>・<br>T11 M6</p>
</blockquote>



<p class="wp-block-paragraph">実機を触れないので、よくわかっていません。このソフトでは、この場合は、無視しています。</p>



<h3 class="wp-block-heading"><span id="toc14">サブプログラム構成</span></h3>



<p class="wp-block-paragraph">上にも書きましたが、今回のソフトは、サブプログラムには対応しません。<br>サブプロ構成のNCデータを変換したい場合には、<a href="https://www.kazuban.com/blog/free_soft/">「フリーソフト」のページ</a>の<br>「メイン・サブ構成のNcデータを一つのメインにまとめる」ソフトを使用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc15">ソフト公開</span></h2>



<p class="wp-block-paragraph">上記の仕様で、ソフト開発しました。<br>単純な文字列変換だけでなく、少しはNCプログラムを理解させていますが<br>標準的なコードのみ変換の仕様です。<br>ただし、実際の機械での検証をおこなっておりません。<br>もし、実加工に使用する際には、十分に確認して使用してください。<br>著作者は一切の責任を負いかねますので、ご了承ください。</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="391" height="459" src="https://www.kazuban.com/blog/wp-content/uploads/2022/10/Fanuc2Osp.png" alt="" class="wp-image-7129" srcset="https://www.kazuban.com/blog/wp-content/uploads/2022/10/Fanuc2Osp.png 391w, https://www.kazuban.com/blog/wp-content/uploads/2022/10/Fanuc2Osp-256x300.png 256w" sizes="(max-width: 391px) 100vw, 391px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background wp-element-button" href="https://www.kazuban.com/blog/free_soft/#Soft11">ダウンロード</a></div>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fanuc と OSP の違い。</title>
		<link>https://www.kazuban.com/blog/fanuc-vs-osp/</link>
					<comments>https://www.kazuban.com/blog/fanuc-vs-osp/#comments</comments>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 12:30:06 +0000</pubDate>
				<category><![CDATA[NC]]></category>
		<category><![CDATA[CAM]]></category>
		<category><![CDATA[Fanuc]]></category>
		<category><![CDATA[OSP]]></category>
		<category><![CDATA[オークマ]]></category>
		<category><![CDATA[ファナック]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=6173</guid>

					<description><![CDATA[昔の資料を整理していたところ、違いを書きだしたメモが出てきました。最近はあまり必要としていませんが、とりあえず、残しておこうと思います。もう、１５年以上前の資料なので、現在では変わっている箇所もあるかもしれません。この手 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">昔の資料を整理していたところ、違いを書きだしたメモが出てきました。<br>最近はあまり必要としていませんが、とりあえず、残しておこうと思います。<br>もう、１５年以上前の資料なので、現在では変わっている箇所もあるかもしれません。<br>この手の記事は、ネット上には沢山あると思うので、怪しい場合にはそちらも参考にしてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">基本的な、工具の位置移動指令は、ほぼ同じ</a></li><li><a href="#toc2" tabindex="0">ワーク座標系</a><ol><li><a href="#toc3" tabindex="0">Fanuc : G54 ～ G59</a></li><li><a href="#toc4" tabindex="0">Fanuc : G54.1P1 ～</a></li><li><a href="#toc5" tabindex="0">OSP : G15H1 ～</a></li></ol></li><li><a href="#toc6" tabindex="0">工具長補正</a><ol><li><a href="#toc7" tabindex="0"> Fanuc : G43 </a></li><li><a href="#toc8" tabindex="0">OSP : G56</a></li></ol></li><li><a href="#toc9" tabindex="0">工具長補正キャンセル</a><ol><li><a href="#toc10" tabindex="0"> Fanuc : G49</a></li><li><a href="#toc11" tabindex="0">OSP : G53</a></li></ol></li><li><a href="#toc12" tabindex="0">原点復帰</a><ol><li><a href="#toc13" tabindex="0"> Fanuc : G28</a></li><li><a href="#toc14" tabindex="0">OSP : なし</a></li></ol></li><li><a href="#toc15" tabindex="0">固定サイクル</a></li><li><a href="#toc16" tabindex="0">固定サイクル・R点復帰</a><ol><li><a href="#toc17" tabindex="0"> Fanuc : G99</a></li><li><a href="#toc18" tabindex="0"> OSP : M54</a></li></ol></li><li><a href="#toc19" tabindex="0">固定サイクル・イニシャル点復帰</a><ol><li><a href="#toc20" tabindex="0"> Fanuc : G98</a></li><li><a href="#toc21" tabindex="0"> OSP : M53</a></li></ol></li><li><a href="#toc22" tabindex="0">動作なし固定サイクル指令</a><ol><li><a href="#toc23" tabindex="0"> Fanuc : L0 もしくは K0　（ゼロ）</a></li><li><a href="#toc24" tabindex="0"> OSP : NCYL</a></li></ol></li><li><a href="#toc25" tabindex="0">サブプログラム呼び出し</a><ol><li><a href="#toc26" tabindex="0"> Fanuc : M98 もしくは　M198</a></li><li><a href="#toc27" tabindex="0"> OSP : CALL</a></li></ol></li><li><a href="#toc28" tabindex="0">サブプログラムからの戻り</a><ol><li><a href="#toc29" tabindex="0"> Fanuc : M99</a></li><li><a href="#toc30" tabindex="0"> OSP : RTS</a></li></ol></li><li><a href="#toc31" tabindex="0">サブプログラムの始まりと終了</a><ol><li><a href="#toc32" tabindex="0"> Fanuc : %</a></li><li><a href="#toc33" tabindex="0"> OSP : なし</a></li></ol></li><li><a href="#toc34" tabindex="0">工具呼び出し</a></li><li><a href="#toc35" tabindex="0">コメント文</a><ol><li><a href="#toc36" tabindex="0"> Fanuc : (　～　) までを、コメントとする</a></li><li><a href="#toc37" tabindex="0"> OSP : (　だけで閉じられていなくても、改行までがコメントとなる</a></li></ol></li><li><a href="#toc38" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">基本的な、工具の位置移動指令は、ほぼ同じ</span></h2>



<p class="wp-block-paragraph">工具の移動先を指令する、基本的なコードはほぼ同じです。<br>G17、G18、G19：平面指定<br>G90、G91：絶対・相対　座標指定<br>G00、G01、G02、G03 : 位置決め、直線・円弧補間<br>G04 : ドウェル<br>G40、G41、G42 : 工具径補正　<br>G73～、G80～：固定サイクル、完全同じではないが、同じ機能が多い<br>M00、M01、M02、M30：プログラムストップやエンド<br>M02、M03、M04、M05：スピンドル回転</p>



<p class="wp-block-paragraph">工具移動に関する基本的なコードは、だいたい同じです。<br>ただ、固定サイクルは、まったく同じではないので注意が必要です。<br>特に、穴あけ動作後の工具の退避指令や、リジットタップでは違いがあります。<br>（リジットタップは、同じファナック機でも違いがありますね～😠）</p>



<h2 class="wp-block-heading"><span id="toc2">ワーク座標系</span></h2>



<h3 class="wp-block-heading"><span id="toc3">Fanuc : G54 ～ G59</span></h3>



<p class="wp-block-paragraph">標準では、G54 ～　G59　の６個の座標系が使用できます。<br>座標系を使い分けると、一つのテーブルに何個（何種類）か製品を載せて、自動運転が可能になります。<br>ただ、普通の仕様では、６個の製品しか載せられませんね。<br>実は、カスタムマクロを利用すると、増やすことも可能です。<br>機会があれば記事にしようと思います。</p>



<h3 class="wp-block-heading"><span id="toc4">Fanuc : G54.1P1 ～</span></h3>



<p class="wp-block-paragraph">オプションになる機種もあると思いますが、G54.1 P「数値」のコードで設定します。<br>何個使えるかは、仕様により変わりますが、数十個から数百個は使用可能だと思います。</p>



<h3 class="wp-block-heading"><span id="toc5">OSP : G15H1 ～</span></h3>



<p class="wp-block-paragraph">Fanuc の「G54.1P」が「G15H」に変わった感じです。</p>



<p class="wp-block-paragraph"><br>余談ですが、どうしてFanucは「G54.1」などというコードになったのでしょう？<br>私のいい加減な推測ですが、昔は６個の座標で十分だったけど、だんだん足りなくなってきて<br>増やそうにも、G60は既に割り当てられていたので、苦肉の策で小数点を使って拡張したという感じでしょうか？<br>変換ソフトなど作る場合など、ほんと面倒です。</p>



<h2 class="wp-block-heading"><span id="toc6">工具長補正</span></h2>



<h3 class="wp-block-heading"><span id="toc7"> Fanuc : G43 </span></h3>



<p class="wp-block-paragraph">「<strong>G43</strong> Z50.0 H01」のように、指定高さに移動するまでに補正値を完了させる指令です。</p>



<h3 class="wp-block-heading"><span id="toc8">OSP : G56</span></h3>



<p class="wp-block-paragraph">こちらも、番号が変わっただけで、同様に指令します。</p>



<h2 class="wp-block-heading"><span id="toc9">工具長補正キャンセル</span></h2>



<h3 class="wp-block-heading"><span id="toc10"> Fanuc : G49</span></h3>



<p class="wp-block-paragraph">工具長補正をキャンセルするコードですが、ちょっと注意が必要です。<br>機種にもよりますが、<span class="markerPink">キャンセルに動作が伴う</span>場合があります。<br>その場合、補正値によっては、主軸が下がる場合があるので注意です。<br>したがって、直前に「<strong>G91G28Z0</strong>」で主軸をZ原点に退避させた後、キャンセルするのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc11">OSP : G53</span></h3>



<p class="wp-block-paragraph">こちらも番号が変わっただけですが、上のFanuc編で説明した、<br>Ｚ原点へ退避させる<span class="markerPink">原点復帰指令はOSPにはない</span>ので注意です。</p>



<h2 class="wp-block-heading"><span id="toc12">原点復帰</span></h2>



<h3 class="wp-block-heading"><span id="toc13"> Fanuc : G28</span></h3>



<p class="wp-block-paragraph">「G28」は、「移動軸」と共に「<strong>中間点</strong>」を同時に指令します。<br>「G90G28X100.0」とすると、まず「X100.0」の位置へ移動し、その後「X軸原点」へ移動します。<br>この動作を利用して、<span class="markerYellow"><strong>現在の位置から</strong></span>Z軸を原点へ移動させたい場合「<strong>G91G28Z0</strong>」のコードがよく使われます。</p>



<h3 class="wp-block-heading"><span id="toc14">OSP : なし</span></h3>



<p class="wp-block-paragraph">OSPは原点復帰指令はありません。<br>海外の機械もそうですが、<span class="markerPink">必ずしもZ軸機械原点が安全位置（最上面）にあるとは限らない</span>から<br>危険だという事かもしれません。<br>その代わりに、退避させたい軸に、機械仕様よりも大きな数値を入れて移動させます。<br>ファナック機では、オーバートラベルのエラーが出てしまう場合がありますが、<span class="markerYellow">オークマ機はエラーになりません。</span><br>「G00Z1000.0」のようにします。</p>



<h2 class="wp-block-heading"><span id="toc15">固定サイクル</span></h2>



<p class="wp-block-paragraph">ハイデンハインの場合には、いろいろなサイクルが用意されていますが、<br>ファナックの場合にはドリル加工用サイクルがほとんどです。<br>穴加工固定サイクルは「Gコード」で穴の加工モードを指令し、加工位置や深さを指定します。<br>穴加工サイクルのGコードの番号は、FanucとOSPでは、だいたい同じですが<br>違いもあるので、詳細はマニュアルやネット情報で調べてみてください。<br>固定サイクルは一度指令すれば、キャンセルコード「G80」が来るまで、指令位置へ同様の穴加工を行います。</p>



<p class="wp-block-paragraph">穴加工サイクルが指令される、直前のZ軸の高さから、<br>実際の加工がスタートする高さを「R点」といい、「R」アドレスで指令します。<br>「直前の高さ」から「R点」までは、早送りで移動し、「R点」から加工送りスピードになります。<br>穴加工サイクルは、指定座標で加工サイクルが終了し、次へ移動する時のZ軸高さを２種類設定できます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.kazuban.com/blog/wp-content/uploads/2021/11/DrillCycle-1024x484.png" alt=""/></figure>



<p class="wp-block-paragraph"><br>一つは、「R点」まで戻り移動する場合で「R点復帰」と呼ばれています。<br>もう一つは、 「直前の高さ」 か「指定高さ」まで戻り、移動する場合になります。<br>この移動高さをFanucでは「イニシャル点」と呼ばれていますが<br>オークマではなんと呼ぶのでしょう？「指定点」とかでしょうか？<br>ここでは。「イニシャル点」に統一し、「R点復帰」に対して「イニシャル点復帰」とします。</p>



<h2 class="wp-block-heading"><span id="toc16">固定サイクル・R点復帰</span></h2>



<h3 class="wp-block-heading"><span id="toc17"> Fanuc : G99</span></h3>



<p class="wp-block-paragraph">Fanuc固定サイクルの、「R点復帰」指令は、「G99」です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>・<br>G90 G00 Z50.0<br>G99 G73 X20.0 Y35.0 Z-30.0 R5.0 Q1.0 F200<br>X-20.0 Y35.0<br>X-20.0 Y-30.0<br>X20.0Y-30.0<br>G80</p></blockquote>



<p class="wp-block-paragraph">この例の場合、Z50.0の高さに位置決め後、「X20.0Y35.0」へ移動、<br>「高速深穴あけサイクルG73」で穴加工後、<br>R点「Z5.0」へ退避し、次の座標「 X-20.0Y35.0 」へ同様の穴加工を行います。<br>この場合「イニシャル点」は「Z50.0」ですが、「G99」なので、「Z5.0」で次の穴位置へ移動します。</p>



<h3 class="wp-block-heading"><span id="toc18"> OSP : M54</span></h3>



<p class="wp-block-paragraph">OSPの「R点復帰」指令は、Gコードでなく「M54」とMコードになります。<br>上の例の「G99」⇒「M54」に変更したデータになります。</p>



<h2 class="wp-block-heading"><span id="toc19">固定サイクル・イニシャル点復帰</span></h2>



<h3 class="wp-block-heading"><span id="toc20"> Fanuc : G98</span></h3>



<p class="wp-block-paragraph">Fanucのイニシャル点は、固定サイクル指令の<span class="markerPink">「直前の高さ」</span>になります。<br>「G98」により、固定サイクル中の移動は、「イニシャル点」の高さになります。</p>



<h3 class="wp-block-heading"><span id="toc21"> OSP : M53</span></h3>



<p class="wp-block-paragraph">OSPのイニシャル点は、直前という縛りはないですが<span class="markerPink">事前に「G71」コードで指定</span>します。<br>「G71 Z50.0」で、イニシャル点は「Z50.0」に設定されます。<br>「M53」により、固定サイクル中の移動は、「イニシャル点」の高さになります。</p>



<p class="wp-block-paragraph"> </p>



<h2 class="wp-block-heading"><span id="toc22">動作なし固定サイクル指令</span></h2>



<p class="wp-block-paragraph">一つのNCプログラムで運用する場合には、あまり必要にはなりませんが、<br>サブプロ的仕様で、穴加工の位置座標のみ、サブプロデータとして呼び出して使用する場合<br><span class="markerYellow"> 固定サイクル指令と位置座標指令は別プログラム</span>としておいたほうが便利です。<br>このような場合、動作を伴わない固定サイクル指令が必要になります。</p>



<h3 class="wp-block-heading"><span id="toc23"> Fanuc : L0 もしくは K0　（ゼロ）</span></h3>



<p class="wp-block-paragraph">機種によって「L」と「K」の場合があるので、注意してください。<br>固定サイクル指令時に、「L0」または「K0」を追加します。<br>次の例では、「L0」や「K0」を指令していません</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>・<br>G90 G00 X0 Y0 Z50.0<br>G98 G73 Z-30.0 R5.0 Q1.0 F200<br>X20.0 Y35.0<br>X-20.0 Y35.0<br>X-20.0 Y-30.0<br>X20.0Y-30.0<br>G80</p></blockquote>



<p class="wp-block-paragraph">この場合、<span class="markerPink">「X0 Y0」位置へも、穴あけ加工をします</span>、<br>G73行に「L0」または「K0」を追加する事で、 「X0 Y0」位置 への穴加工を回避できます。 </p>



<h3 class="wp-block-heading"><span id="toc24"> OSP : NCYL</span></h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>・<br>G90 G00 X0 Y0<br>G71 Z50.0<br>NCYL G73 Z-30.0 R5.0 Q1.0 F200 M53<br>X20.0 Y35.0<br>X-20.0 Y35.0<br>X-20.0 Y-30.0<br>X20.0Y-30.0<br>G80</p></blockquote>



<p class="wp-block-paragraph">OSPでは、「NCYL」という「ニーモニックコード」と呼ばれる英文字単語を使います。<br>ここで注意が必要です。<br>単語なので、「NCYLG73Z-30.0R5.0Q1.0F200」とスペースなしで連続して指令してしまうと<br>「NCLYG」と判断されてしまいます。「NCYL　G71」と「ニーモニックコード」を使用する場合には<br><span class="markerPink">必ず「スペース」が必要</span>です。</p>



<h2 class="wp-block-heading"><span id="toc25">サブプログラム呼び出し</span></h2>



<h3 class="wp-block-heading"><span id="toc26"> Fanuc : M98 もしくは　M198</span></h3>



<p class="wp-block-paragraph">M98とM198は、機種やサブプロの保存箇所によって違ってきます。<br>M98はサブプロがメインプロと同じメモリ内にある場合に使用します。<br>M198はデータサーバなど外部入出力機器内のサブプロを呼び出す場合に使用します。<br>呼び出すには、サブプロのO番号の「O」を「P」に変えて呼び出します<br>M98P1000 の場合、メインと同じメモリ内のO1000　を呼び出します。</p>



<h3 class="wp-block-heading"><span id="toc27"> OSP : CALL</span></h3>



<p class="wp-block-paragraph">OSPは「CALL」というニーモニックコードを使用します。<br>呼び出すプログラム名は「O」を先頭にした英数文字です。<br>CALL OSUB01 のように指令します</p>



<h2 class="wp-block-heading"><span id="toc28">サブプログラムからの戻り</span></h2>



<p class="wp-block-paragraph">NCプログラムの終了は、Fanuc も OSP も「M02」や「M30」です同じですが<br>もし、サブプロの終了にこのコードを使用すると、<span class="markerPink">そこでプログラムは終了してしまいます。</span><br>場合によってはサブプロで終了させたい事例もあるかもしれませんが、<br>通常は呼び出したメインプロの次の行へ戻します。</p>



<h3 class="wp-block-heading"><span id="toc29"> Fanuc : M99</span></h3>



<p class="wp-block-paragraph">サブプログラム実行中に「M99」を読み込むと、呼び出し元の次の行へ制御が移ります。<br>ちなみに、メインプログラムからの呼び出しでなく、直接「M99」で終了するプログラムを実行すると<br><span class="markerPink">永遠に繰り返し</span>ますので、サブプログラムを単独で実行したい場合には注意してください。</p>



<h3 class="wp-block-heading"><span id="toc30"> OSP : RTS</span></h3>



<p class="wp-block-paragraph">OSPも同様ですが、「RTS」がリターンコードになります。</p>



<h2 class="wp-block-heading"><span id="toc31">サブプログラムの始まりと終了</span></h2>



<h3 class="wp-block-heading"><span id="toc32"> Fanuc : %</span></h3>



<p class="wp-block-paragraph">Fanucは「%」を読み込んで初めて、NCプログラムだと認識しNC制御を始めます。<br>また、NC制御が始めり、再度「%」を読み込むと、終了します。<br>「%」～「%」の間を一つのNCプログラムとして処理します。<br>これを、連続して機械へ入力する事も可能です。<br>その場合「%」～「%」の組数により、複数のNCプログラムを一度に機械へ登録できます。<br>機種によっては、「%」と「%」の途中に、「M30」や「M99」がある場合、それをプログラム終了と判断し<br>複数のNCプログラムとして処理する機種もあります。</p>



<h3 class="wp-block-heading"><span id="toc33"> OSP : なし</span></h3>



<p class="wp-block-paragraph">OSPはFanucのような特殊な文字はありません。<br>ただし、「/」で区切る事で、メインプロとサブプロを一度に登録できます。</p>



<p class="wp-block-paragraph">O1000<br>・<br>・<br>M53G81X-150.Y-125.8R5.Z-26.549F255<br>X-150.Y125.8<br>X150.Y-125.8<br>X150.Y125.8<br>X-55.Y-142.<br>X55.Y-142.<br>G80<br>G0Z1000.<br>M9<br>CALL OSUB01<br>・<br>・<br>M2<br>/<br>OSUB01(M206)<br>M132<br>G0Z1000M339<br>M5<br>G4P7<br>M133<br>RTS<br>/<br>OUSB02(M207)<br>M132<br>G0Z1000M121<br>S100M03<br>G4P3<br>M5<br>M9<br>M133<br>RTS</p>



<p class="wp-block-paragraph">このように、よく使うコードは常にサブプロとして登録するようにすると便利です。</p>



<h2 class="wp-block-heading"><span id="toc34">工具呼び出し</span></h2>



<p class="wp-block-paragraph">T「工具番号」のコードで呼び出すのは、FanucもOSPも同じです。<br>しかし、機種によっては、主軸工具をNCプログラムで呼び出すと、無視してくれる場合と<br>エラーで止まってしまう場合があります。<br>これは、Funuc機でも、エラーになる機械もありますが、オークマ機では<br>私の知っている限りでは、全てエラーになりました。<br>基本的には、主軸工具は呼び出さない仕様がよいと思いますが、その時の工具長補正の処理は<br>よく検討しておいたほうが、トラブルは少なくなると思います。<br></p>



<h2 class="wp-block-heading"><span id="toc35">コメント文</span></h2>



<p class="wp-block-paragraph">NCプログラム中には、メモ書きとしてコメント文を挿入できます。<br>コメント文は、FanucもOSPも　(　・・・・　)　のように「 (  ) 」で囲まれた中身は<br>NC的には全く意味を持ちません。人間の参考用です。<br>以前はこの仕様は、同じだと思っていましたが、ある日、下記のような違いに遭遇した事がありました。<br>これが、全てに当てはまるのか？は、確認しておりませんが、体験談です。</p>



<h3 class="wp-block-heading"><span id="toc36"> Fanuc : (　～　) までを、コメントとする</span></h3>



<p class="wp-block-paragraph"> ( ・・・ ) に挟まれた文をコメントと扱います。<br>複数行であっても、<strong>閉じるまで</strong>、コメント扱いとなります。<br><span class="markerPink">改行があっても、コメント中</span>として処理されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>G90<br>( T02 M06<br>G00 G43 Z50. H02<br>Z5.0 )</p></blockquote>



<p class="wp-block-paragraph">この例では、先頭の「G90」以下はすべてコメント扱いになりますが<br>最後の　)　が省略されると、エラーになる可能性があります。</p>



<h3 class="wp-block-heading"><span id="toc37"> OSP : (　だけで閉じられていなくても、改行までがコメントとなる</span></h3>



<p class="wp-block-paragraph">  ( ・・・ ) に挟まれた場合は、Fanucと同じですが、<span class="markerPink">(　だけでも改行まで</span>がコメントになります</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>G90<br>( T02 M06<br>G00 G56 Z50. H02<br>Z5.0 </p></blockquote>



<p class="wp-block-paragraph">T02 の工具交換を無視にしたい場合、上記のように行の先頭のみに　(　を入れる事で実現できます。<br>この場合は、T02 M06 はコメントとして無視させますが、<br>次の工具長補正 G00 <s>G43</s>G56 Z50. H02 は処理させたいのが、作業者の意図ですが<br>Fanucへの変換ソフトなど作成する場合には、注意が必要ですね！</p>



<p class="wp-block-paragraph">コメントは<span class="markerPink">「必ず閉じる」</span>を必須にしたほうが、安全です。</p>



<h2 class="wp-block-heading"><span id="toc38">まとめ</span></h2>



<p class="wp-block-paragraph">まだ違いは沢山あると思います。<br>ねじ切りサイクルや冷却指令なども、違いますが、これらの指令は、同じFanuc のバージョンであっても<br>機械で違う事もあるので、ここでは省略しました。<br>完璧なものは無理だと思いますが、<s>時間を見つけて、Fanuc ⇒OSP の変換ソフトを作ってみようと思っています。</s><br><a href="https://www.kazuban.com/blog/free_soft/#Soft11">Fanuc ⇒ OSP 変換ソフトを公開しました。</a><br>また、今回の記事で間違いなどあったら、コメントいただければ助かります。<br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kazuban.com/blog/fanuc-vs-osp/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
