S7-200PLC的指令系統(tǒng)
第 5章 S7-200PLC的 指 令 系 統(tǒng)本 章 要 點(diǎn)5.1 編 程 基 礎(chǔ)5.2 基 本 指 令 及 編 程 方 法5.3 功 能 指 令 及 編 程 方 法 5.1.1 編 程 語(yǔ) 言1.梯 形 圖 編 程 語(yǔ) 言IO.O ( )I0.1 Q0.0Q0.0 5.1.1 編 程 語(yǔ) 言2.功 能 塊 圖 ( FBD) 編 程 語(yǔ) 言I0.0Q0.0 I0.1 ANDOR Q0.0IO.O ( )I0.1 Q0.0Q0.0 5.1.1 編 程 語(yǔ) 言3.語(yǔ) 句 表 ( STL) 編 程 語(yǔ) 言IO.O ( )I0.1 Q0.0Q0.0語(yǔ) 句 表 :LD I0.0O Q0.0AN I0.1= Q0.0 1. 數(shù) 據(jù) 的 類 型 與 長(zhǎng) 度 在 計(jì) 算 機(jī) 中 使 用 的 都 是 二 進(jìn) 制 數(shù) , 其 最 基 本 的 存 儲(chǔ)單 位 是 位 (bit). 8位 二 進(jìn) 制 數(shù) 組 成 1個(gè) 字 節(jié) (Byte), 其 中 的 第 0位 為 最 低 位 (LSB), 第 7位 為最 高 位 (MSB), 兩 個(gè) 字 節(jié) ( 16位 ) 組 成 1個(gè) 字 (Word), 兩 個(gè) 字 ( 32位 ) 組 成 1個(gè) 雙 字 ( Double word) , 把 位 、 字 節(jié) 、 字 和 雙 字 占 用 的 連 續(xù) 位 數(shù) 稱 為 長(zhǎng) 度 。 5.1.2 數(shù) 據(jù) 類 型 1. 數(shù) 據(jù) 的 類 型 與 長(zhǎng) 度 PLC對(duì) 數(shù) 據(jù) 類 型 檢 查 有 助 于 避 免 常 見(jiàn) 的 編 程錯(cuò) 誤 。 數(shù) 據(jù) 類 型 檢 查 分 為 三 級(jí) : 完 全 數(shù) 據(jù) 類 型 檢查 、 簡(jiǎn) 單 數(shù) 據(jù) 類 型 檢 查 和 無(wú) 數(shù) 據(jù) 類 型 檢 查 S7-200 PLC的 SIMATIC指 令 集 不 支 持 完 全 數(shù)據(jù) 類 型 檢 查 。 使 用 局 部 變 量 時(shí) , 執(zhí) 行 簡(jiǎn) 單 數(shù) 據(jù) 類型 檢 查 ; 使 用 全 局 變 量 時(shí) , 指 令 操 作 數(shù) 為 地 址 而不 是 可 選 的 數(shù) 據(jù) 類 型 時(shí) , 執(zhí) 行 無(wú) 數(shù) 據(jù) 類 型 檢 查 。 1. 數(shù) 據(jù) 的 類 型 與 長(zhǎng) 度 完 全 數(shù) 據(jù) 類 型 檢 查 時(shí) ,用 戶 選 定 的 數(shù) 據(jù) 類 型 和 等價(jià) 的 數(shù) 據(jù) 類 型 用 戶 選 定 的 數(shù)據(jù) 類 型 與 之 等 價(jià) 的 數(shù)據(jù) 類 型 BOOL BOOLBYTE BYTE WORD WORD INT INT DWORD DWORD DINT DINT REAL REAL 1. 數(shù) 據(jù) 的 類 型 與 長(zhǎng) 度 簡(jiǎn) 單 數(shù) 據(jù) 類 型 檢 查 時(shí) 用戶 選 定 的 數(shù) 據(jù) 類 型 和 等 價(jià)的 數(shù) 據(jù) 類 型 用 戶 選 定 的 數(shù)據(jù) 類 型 與 之 等 價(jià) 的 數(shù)據(jù) 類 型BOOL BOOL BYTE BYTE WORD WORD, INT INT WORD, INT DWORD DWORD, DINT DINT DWORD, DINT REAL REAL 1. 數(shù) 據(jù) 的 類 型 與 長(zhǎng) 度 在 無(wú) 數(shù) 據(jù) 類 型 檢 查 時(shí) ,用 戶 選 定 地 址 與 分 配 的 等價(jià) 數(shù) 據(jù) 類 型 用 戶 選 定 的 數(shù)據(jù) 類 型 與 之 等 價(jià) 的 數(shù)據(jù) 類 型V0.0 BOOL VB0 BYTE VW0 WORD, INT VD0 DWORD,DINT,REAL 2. 數(shù) 據(jù) 長(zhǎng) 度 與 數(shù) 值 范 圍 5.1.3存 儲(chǔ) 器 區(qū) 域PLC的 存 儲(chǔ) 器 分 為 程 序 區(qū) 、 系 統(tǒng) 區(qū) 、 數(shù) 據(jù) 區(qū) 。: 輸 入 映 像 寄 存 器 ( I) 輸 出 映 像 寄 存 器 ( Q) 變 量 存 儲(chǔ) 器 ( V ) 內(nèi) 部 標(biāo) 志 位 存 儲(chǔ) 器 ( M ) 特 殊 標(biāo) 志 位 存 儲(chǔ) 器 ( SM ) 局 部 存 儲(chǔ) 器 ( L) 5.1.3存 儲(chǔ) 器 區(qū) 域定 時(shí) 器 存 儲(chǔ) 器 ( T )計(jì) 數(shù) 器 存 儲(chǔ) 器 ( C )模 擬 量 輸 入 映 像 寄 存 器 ( AI)模 擬 量 輸 出 映 像 寄 存 器 ( AQ)累 加 器 ( AC)高 速 計(jì) 數(shù) 器 ( H C ) 1. 數(shù) 據(jù) 區(qū) 存 儲(chǔ) 器 的 地 址 表 示 格 式 區(qū) 域 標(biāo) 志 符 .字 節(jié) 號(hào) .位 號(hào) 如 I0.0; Q0.0; I1.2。 1. 數(shù) 據(jù) 區(qū) 存 儲(chǔ) 器 的 地 址 表 示 格 式 (2)字 節(jié) 、 字 、 雙 字 地 址 格 式用 VB100、 VW100、 VD100分 別 表 示 字 節(jié) 、 字 、 雙 字 的 地 址 。VW100: 由 VB100、 VB101兩 個(gè) 字 節(jié) 組 成 ;VD100: 由 VB100VB103四 個(gè) 組 成 。 定 時(shí) 器 存 儲(chǔ) 器 ( T)計(jì) 數(shù) 器 存 儲(chǔ) 器 ( C)累 加 器 ( AC)高 速 計(jì) 數(shù) 器 ( HC)如 : T24 C2 AC1 AC2 1. 數(shù) 據(jù) 區(qū) 存 儲(chǔ) 器 的 地 址 表 示 格 式 2. 數(shù) 據(jù) 區(qū) 存 儲(chǔ) 區(qū) 域 PLC的 輸 入 端 子 是 從 外 部 接 收 輸 入 信 號(hào) 的 窗 口 。 每 一 個(gè)輸 入 端 子 與 輸 入 映 像 寄 存 器 ( I) 的 一 個(gè) 相 應(yīng) 位 對(duì) 應(yīng) 。 PLC的 輸 入 映 像 寄 存 器 區(qū) 實(shí) 際 上 就 是 外 部 輸 入 設(shè) 備 的映 像 區(qū) , PLC通 過(guò) 輸 入 映 像 區(qū) 與 外 部 物 理 設(shè) 備 建 立 聯(lián) 系 。 執(zhí) 行 程 序 時(shí) , 對(duì) 輸 入 點(diǎn) 的 讀 取 通 常 是 通 過(guò) 輸 入 映 像 寄存 器 區(qū) , 而 不 是 通 過(guò) 實(shí) 際 的 ( 物 理 ) 輸 入 端 子 。 接 觸 器外部輸入電路 SB1SB2 PLCI0.0I0.1 I0.0 I0.100 Q0.0 Q0.1001M 輸 入 映 象 寄 存 器 輸 出 映 象寄 存 器I0.2 I0.20 Q0.0Q0.11LQ0.2 外部輸出電路 輸 出 接口 電 路 Q0.20輸 入 接口 電 路 注 意 : 輸 入 映 像 寄 存 器 的 狀 態(tài) 只 能 由 外 部 輸 入信 號(hào) 驅(qū) 動(dòng) , 而 不 能 由 程 序 來(lái) 改 變 其 狀 態(tài) 。 即在 程 序 中 , 只 能 出 現(xiàn) 輸 入 映 像 寄 存 器 的 觸 點(diǎn) ,而 不 能 出 現(xiàn) 其 線 圈 。I0.0 ( )I0.1 Q0.0Q0.0Q0.0 ( )I0.0 輸 入 映 像 寄 存 器 ( I) 的 地 址 格 式 :I字 節(jié) 地 址 . 位 地 址 如 I0.0 I數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 IB4、 IW6、 ID10CPU224輸 入 映 像 寄 存 器 ( I) 的 有 效 地 址 范 圍 : I( 0.0 15.7) IB ( 0 15) IW ( 0 14) ID ( 0 12) 輸 出 映 像 寄 存 器 是 PLC用 來(lái) 向 外 部 負(fù) 載 發(fā) 送 控 制 命令 的 窗 口 。 每 一 個(gè) 輸 出 端 子 與 輸 出 映 像 寄 存 器 ( Q ) 的一 個(gè) 相 應(yīng) 位 想 對(duì) 應(yīng) 。 并 有 無(wú) 數(shù) 對(duì) 常 開(kāi) 和 常 閉 觸 點(diǎn) 供 編 程時(shí) 使 用 。 PLC的 輸 出 映 像 寄 存 器 區(qū) 實(shí) 際 上 就 是 外 部 輸 出 設(shè) 備的 映 像 區(qū) , PLC通 過(guò) 輸 出 映 像 區(qū) 與 外 部 物 理 設(shè) 備 建 立 聯(lián)系 。 執(zhí) 行 程 序 時(shí) , 對(duì) 輸 出 點(diǎn) 的 改 變 通 常 是 通 過(guò) 輸 出 映 像 寄存 器 區(qū) , 而 不 是 通 過(guò) 實(shí) 際 的 ( 物 理 ) 輸 出 端 子 。 接 觸 器外部輸入電路 SB1SB2 PLCI0.0I0.1 I0.0 I0.100 Q0.0 Q0.1011M 輸 入 映 象 寄 存 器 輸 出 映 象寄 存 器I0.2 I0.20 Q0.0Q0.11LQ0.2 外部輸出電路 輸 出 接口 電 路 Q0.20輸 入 接口 電 路 輸 出 映 像 寄 存 器 ( Q) 的 地 址 格 式 :位 地 址 : Q字 節(jié) 地 址 . 位 地 址 如 Q0.0字 節(jié) 、 字 、 雙 字 地 址 : Q數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 QB4、 QW6、 QD10CPU224輸 出 映 像 寄 存 器 ( Q) 的 有 效 地 址 范 圍 : Q( 0.0 15.7) QB ( 0 15) QW ( 0 14) QD ( 0 12) 內(nèi) 部 標(biāo) 志 位 存 儲(chǔ) 器 : 用 來(lái) 保 存 控 制 繼 電 器 的 中 間 操 作 狀 態(tài) , 其 作用 相 當(dāng) 于 繼 電 器 控 制 中 的 中 間 繼 電 器 。注 意 : 內(nèi) 部 標(biāo) 志 位 存 儲(chǔ) 器 在 PLC中 沒(méi) 有 輸 入 /輸 出 端子 與 之 對(duì) 應(yīng) , 其 線 圈 的 通 斷 狀 態(tài) 只 能 在 程 序 內(nèi) 部用 指 令 驅(qū) 動(dòng) 。 內(nèi) 部 標(biāo) 志 位 存 儲(chǔ) 器 ( M) 的 地 址 格 式 :位 地 址 : M字 節(jié) 地 址 . 位 地 址 如 M0.0字 節(jié) 、 字 、 雙 字 地 址 : M數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 MB4、 MW11、 MD26CPU224內(nèi) 部 標(biāo) 志 位 存 儲(chǔ) 器 ( M) 的 有 效 地 址 范 圍 : M( 0.0 31.7) MB ( 0 31) MW ( 0 30) MD ( 0 28) 變 量 存 儲(chǔ) 器 主 要 用 于 存 儲(chǔ) 全 局 變 量 , 或 者 存 放 數(shù) 據(jù) 運(yùn) 算的 中 間 運(yùn) 算 結(jié) 果 或 設(shè) 置 參 數(shù) 。變 量 存 儲(chǔ) 器 V的 地 址 格 式 :位 地 址 : V字 節(jié) 地 址 . 位 地 址 如 V10.5字 節(jié) 、 字 、 雙 字 地 址 : V數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 VB4、 VW100、 VD320CPU224變 量 存 儲(chǔ) 器 V的 有 效 地 址 范 圍 : V( 0.0 5119.7) VB ( 0 5119) VW ( 0 5118) VD ( 0 5116) 局 部 變 量 存 儲(chǔ) 器 L用 來(lái) 存 放 局 部 變 量 , 即 變 量 只 能 在特 定 的 程 序 中 使 用 。局 部 變 量 存 儲(chǔ) 器 L的 地 址 格 式 :位 地 址 : L字 節(jié) 地 址 . 位 地 址 如 L1.5字 節(jié) 、 字 、 雙 字 地 址 : L數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 LB21、 LW44、 LD55CPU224局 部 變 量 存 儲(chǔ) 器 L的 有 效 地 址 范 圍 : L( 0.0 63.7) LB ( 0 63) LW ( 0 62) LD ( 0 60) 順 序 控 制 繼 電 器 是 使 用 步 進(jìn) 順 序 控 制 指 令 編 程 時(shí) 的 重 要 狀 態(tài) 元 件 ,通 常 與 步 進(jìn) 指 令 一 起 使 用 以 實(shí) 現(xiàn) 順 序 功 能 流 程 圖 的 編 程 。順 序 控 制 繼 電 器 S的 地 址 格 式 :位 地 址 : S字 節(jié) 地 址 . 位 地 址 如 S3.1字 節(jié) 、 字 、 雙 字 地 址 : S數(shù) 據(jù) 長(zhǎng) 度 起 始 位 字 節(jié) 地 址 如 SB4、 SW10、 SD21CPU224順 序 控 制 繼 電 器 S的 有 效 地 址 范 圍 : S( 0.0 31.7) SB ( 0 31) SW ( 0 30) SD ( 0 28) 特 殊 標(biāo) 志 位 存 儲(chǔ) 器 是 用 戶 程 序 和 系 統(tǒng) 程 序 之 間 的 界面 , 為 用 戶 提 供 特 殊 的 控 制 功 能 及 系 統(tǒng) 信 息 。RUN監(jiān) 控 , PLC在 RUN方 式 時(shí) , SM0.0總 為 1, 又稱 常 ON繼 電 器 ;初 始 脈 沖 , PLC由 STOP轉(zhuǎn) 為 RUN時(shí) , SM0.1接通 一 個(gè) 掃 描 周 期 ;PLC開(kāi) 機(jī) 后 進(jìn) 入 RUN方 式 時(shí) , SM0.3 接 通 一 個(gè)掃 描 周 期 ;周 期 為 1秒 鐘 , 占 空 比 為 50 的 時(shí) 鐘 脈 沖 。 PLC所 提 供 的 定 時(shí) 器 作 用 相 當(dāng) 于 繼 電 器 控 制 系 統(tǒng) 中的 時(shí) 間 繼 電 器 。 每 個(gè) 定 時(shí) 器 可 提 供 無(wú) 數(shù) 對(duì) 常 開(kāi) 和 常 閉 觸點(diǎn) 供 編 程 使 用 ,其 設(shè) 定 時(shí) 間 通 常 由 程 序 設(shè) 置 。地 址 格 式 : T定 時(shí) 器 號(hào) 如 T37有 效 地 址 范 圍 : T( 0 255) S7-200 PLC提 供 了 三種 定 時(shí) 器 : TON 通 電 延 時(shí) TONR 有 記 憶 通 電 延 時(shí) TOF 斷 電 延 時(shí) S7-200 PLC提 供了 三 種 定 時(shí) 精 度 :1ms10ms100ms 計(jì) 數(shù) 器 用 于 累 計(jì) 計(jì) 數(shù) 輸 入 端 接 收 到 的 脈 沖 電 平 由 低到 高 的 脈 沖 個(gè) 數(shù) 。 計(jì) 數(shù) 器 可 提 供 無(wú) 數(shù) 對(duì) 常 開(kāi) 和 常 閉 觸 點(diǎn)供 編 程 使 用 , 其 設(shè) 定 值 通 常 由 程 序 賦 予 。地 址 格 式 : C計(jì) 數(shù) 器 號(hào) 如 C5有 效 地 址 范 圍 : C( 0 255) S7-200 PLC提 供 了 三 種 計(jì) 數(shù) 器 :CTU 增 計(jì) 數(shù) 器CTD 減 計(jì) 數(shù) 器CTUD 增 減 計(jì) 數(shù) 器 S7-200的 模 擬 量 輸 入 電 路 是 將 外 部 輸 入 的 模 擬 量 信號(hào) 轉(zhuǎn) 換 成 1個(gè) 字 長(zhǎng) 的 數(shù) 字 量 , 存 入 模 擬 量 輸 入 映 像 寄 存 器區(qū) 域 。模 擬 量 輸 入 映 像 寄 存 器 ( AI) 的 地 址 格 式 為 : AIW起 始 字 節(jié) 地 址 , 如 AIW4。 模 擬 量 輸 入 映 像 寄 存 器 ( AI) 的 地 址 必 須 用 偶 數(shù) 字節(jié) 地 址 ( 如 AIW0, AIW2, AIW4) 來(lái) 表 示 。 CPU226模 塊 模 擬 量 輸 入 映 像 寄 存 器 ( AI) 的 有 效 地址 的 范 圍 為 : AIW( 062) 。 CPU將 運(yùn) 算 的 結(jié) 果 存 放 在 模 擬 量 輸 出 映 像 寄 存 器 中 ,供 D/A轉(zhuǎn) 換 器 將 1個(gè) 字 長(zhǎng) 的 數(shù) 字 量 轉(zhuǎn) 換 為 模 擬 量 , 以 驅(qū) 動(dòng)外 部 模 擬 量 控 制 設(shè) 備 。模 擬 量 輸 出 映 像 寄 存 器 ( AQ) 的 地 址 格 式 為 : AQW起 始 字 節(jié) 地 址 , 如 AQW10。 模 擬 量 輸 出 映 像 寄 存 器 ( AQ) 的 地 址 必 須 用 偶 數(shù) 字節(jié) 地 址 ( 如 AQW0, AQW2, AQW4) 來(lái) 表 示 。 CPU226模 塊 模 擬 量 輸 出 映 像 寄 存 器 ( AQ) 的 有 效地 址 的 范 圍 為 : AQW( 062) 。 累 加 器 是 用 來(lái) 暫 存 數(shù) 據(jù) 的 寄 存 器 , 它 可 以 用來(lái) 存 放 運(yùn) 算 數(shù) 據(jù) 、 中 間 數(shù) 據(jù) 和 結(jié) 果 。 CPU提 供 了 4個(gè) 32位 的 累 加 器 , 其 地 址 編 號(hào)為 AC0AC3。 累 加 器 的 可 用 長(zhǎng) 度 為 32位 , 可 采 用 字 節(jié) 、 字 、雙 字 的 存 取 方 式 , 按 字 節(jié) 、 字 只 能 存 取 累 加 器 的低 8位 或 低 16位 , 雙 字 可 以 存 取 累 加 器 全 部 的 32 位 。 一 般 計(jì) 數(shù) 器 : 計(jì) 數(shù) 頻 率 受 掃 描 周 期 的 影 響 , 不 能 太 高 。高 速 計(jì) 數(shù) 器 : 可 用 來(lái) 累 計(jì) 比 CPU 的 掃 描 速 度 更 快 的 事 件 。 注 : 高 速 計(jì) 數(shù) 器 的 當(dāng) 前 值 是 一 個(gè) 雙 字 長(zhǎng) ( 32位 )的 整 數(shù) , 且 為 只 讀 值 。 5.1.4 尋 址 方 式 1. 立 即 尋 址 S7-200 PLC的 尋 址 方 式 有 : 立 即 尋 址 、 直 接 尋 址 、間 接 尋 址 。 定 義 :指 令 直 接 給 出 操 作 數(shù) , 操 作 數(shù) 緊 跟 著 操 作 碼 .舉 例 :十 進(jìn) 制 常 數(shù) : 30112 十 六 進(jìn) 制 常 數(shù) : 16#42FASCII常 數(shù) : INPUT 實(shí) 數(shù) 或 浮 點(diǎn) 常 數(shù) : +1.1E-10 二 進(jìn) 制 常 數(shù) : 2#0101 1110 #為 常 數(shù) 的 進(jìn) 制 格 式 說(shuō) 明 符 5.1.4 尋 址 方 式2. 直 接 尋 址 定 義 : 指 令 直 接 使 用 存 儲(chǔ) 器 或 寄 存 器 的 元 件 名 稱 和 地 址 編號(hào) 。注 意 : 指 令 中 , 數(shù) 據(jù) 類 型 應(yīng) 與 指 令 標(biāo) 識(shí) 符 相 匹 配 。不 同 數(shù) 據(jù) 長(zhǎng) 度 的 尋 址 指 令 舉 例 如 下 :位 尋 址 : AND Q5.5字 節(jié) 尋 址 : ORB VB33, LB21字 尋 址 : MOVW AC0, AQW2雙 字 尋 址 : MOVD AC1, VD200 5.1.4 尋 址 方 式3. 間 接 尋 址 定 義 : 指 令 給 出 了 存 放 操 作 數(shù) 地 址 的 存 儲(chǔ) 單 元 的 地 址( 也 稱 地 址 指 針 ) 。 注 意 : 可 作 為 地 址 指 針 的 存 儲(chǔ) 器 有 : V、 L、 AC( 1 3) 可 間 接 尋 址 的 存 儲(chǔ) 器 區(qū) 域 有 : I、 Q、 V、 M、 S、 T( 僅當(dāng) 前 值 ) 、 C( 僅 當(dāng) 前 值 ) 。 對(duì) 獨(dú) 立 的 位 ( BIT) 值 或 模 擬 量 值 不 能 進(jìn) 行 間 接 尋 址 。 5.1.4 尋 址 方 式 為 雙 字 長(zhǎng) , 是 所 要 訪 問(wèn) 的 存 儲(chǔ) 單 元 的 物 理 地 址 ???用 作 指 針 的 存 儲(chǔ) 器 ( 只 能 使 用 ) : 變 量 存 儲(chǔ) 器 ( V) 局 部 存 儲(chǔ) 器 ( L) 累 加 器 ( AC1-AC3) , AC0不 能 用 作 間 接 尋 址 的 指 針 。 MOVD SM1.1( 溢 出 ) ; SM1.2( 負(fù) ) ; SM1.3( 除 數(shù) 為 0) 。 使 能 流 輸 出 ENO斷 開(kāi) 的 出 錯(cuò) 條 件 : 0006( 間 接 尋址 ) ; SM1.1( 溢 出 ) ; SM1.3( 除 數(shù) 為 0) ; SM4.3( 運(yùn) 行 時(shí) 間 ) 。 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令指 令 格 式 : /I IN2, OUT /整 數(shù) 除 法 , OUT/IN2OUT。 DIV IN2, OUT /整 數(shù) 完 全 除 法 /D IN2, OUT /雙 整 數(shù) 除 法 /R IN2, OUT /實(shí) 數(shù) 除 法 返 回 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 在 整 數(shù) 除 法 中 , 兩 個(gè) 16位 的 整 數(shù) 相 除 , 產(chǎn) 生 一 個(gè) 16位的 整 數(shù) 商 , 不 保 留 余 數(shù) 。 雙 整 數(shù) 除 法 也 同 樣 過(guò) 程 , 只 是位 數(shù) 變 為 32位 。 在 整 數(shù) 完 全 除 法 中 , 兩 個(gè) 16位 的 符 號(hào) 整 數(shù) 相 除 , 產(chǎn) 生一 個(gè) 32位 結(jié) 果 , 其 中 , 低 16位 為 商 , 高 16位 為 余 數(shù) 。 32位 結(jié) 果 的 低 16位 運(yùn) 算 前 期 被 兼 用 存 放 被 除 數(shù) 。 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 程 序 實(shí) 例 : LD I0.0 /使 能 輸 入 端MOVW +12345, VW12 /12345VW12 MOVW +100, VW20 /100VW20 LD I0.1 /使 能 輸 入 端 DIV VW20, VD10 /VW12/VW20 VD10 VW10=45 (余 數(shù) )VW12=123( 商 ) VD10的 低 16位 注 意加 法 運(yùn) 算 和 乘 法 運(yùn) 算 : 在 STL中 將 IN2與 OUT公 用 一 個(gè) 地 址 單 元減 法 運(yùn) 算 和 除 法 運(yùn) 算 : 在 STL中 將 IN1與 OUT公 用 一 個(gè) 地 址 單 元 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令5. 增 減 指 令 增 、 減 指 令 , 又 稱 自 增 和 自 減 , 是 對(duì) 無(wú) 符 號(hào) 或 有 符號(hào) 整 數(shù) 進(jìn) 行 自 動(dòng) 增 加 或 減 少 一 個(gè) 單 位 的 操 作 , 數(shù) 據(jù) 長(zhǎng) 度可 以 是 字 節(jié) 、 字 或 雙 字 。 使 能 流 輸 出 ENO斷 開(kāi) 的 出 錯(cuò) 條 件 : 0006( 間 接 尋址 ) ; SM1.1( 溢 出 ) ; SM4.3( 運(yùn) 行 時(shí) 間 ) 。 在 LAD和 FBD中 , 以 指 令 盒 形 式 編 程 , 執(zhí) 行 結(jié) 果 : IN 1OUT和 IN 1OUT。 在 STL中 , 執(zhí) 行 結(jié) 果 : OUT 1OUT和 OUT 1OUT。 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令( 1) 字 節(jié) 增 和 字 節(jié) 減 指 令 : INCB, DECB 使 能 輸 入 有 效 時(shí) , 把 一 字 節(jié) 長(zhǎng) 的 無(wú) 符 號(hào) 輸 入 數(shù) IN加 1或 減 1, 得 到 一 個(gè) 字 節(jié) 的 無(wú) 符 號(hào) 輸 出 結(jié) 果 OUT。 指 令 格 式 : INCB OUT; DECB OUT( 2) 字 增 和 字 減 指 令 : INCW, DECW 指 令 格 式 : INCW OUT; DECW OUT ( 3) 雙 字 增 和 雙 字 減 指 令 : INCD, DECD 指 令 格 式 : INCD OUT; DECD OUT 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令6. 數(shù) 學(xué) 函 數(shù) 指 令 數(shù) 學(xué) 函 數(shù) 指 令 包 括 平 方 根 、 自 然 對(duì) 數(shù) 、 指 數(shù) 、 三 角函 數(shù) 等 幾 個(gè) 常 用 的 函 數(shù) 指 令 。 運(yùn) 算 輸 入 輸 出 數(shù) 據(jù) 都 為 實(shí) 數(shù) 。 結(jié) 果 如 果 大 于 32位 二進(jìn) 制 表 示 的 范 圍 , 則 產(chǎn) 生 溢 出 。 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 ( 1) 平 方 根 指 令 : SQRT 把 一 個(gè) 雙 字 長(zhǎng) ( 32位 ) 的 實(shí) 數(shù) IN開(kāi) 方 , 得 到 32位的 實(shí) 數(shù) 結(jié) 果 OUT。 指 令 格 式 : SQRT IN, OUT 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 ( 2) 自 然 對(duì) 數(shù) 指 令 : LN 把 一 個(gè) 雙 字 長(zhǎng) ( 32位 ) 的 實(shí) 數(shù) IN取 自 然 對(duì) 數(shù) , 得 到32位 的 實(shí) 數(shù) 結(jié) 果 OUT。 指 令 格 式 : LN IN, OUT 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 ( 3) 指 數(shù) 指 令 : EXP 把 一 個(gè) 雙 字 長(zhǎng) ( 32位 ) 的 實(shí) 數(shù) IN取 以 e為 底 的 指 數(shù) ,得 到 32位 的 實(shí) 數(shù) 結(jié) 果 OUT。 指 令 格 式 : EXP IN, OUT 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令 ( 4) 三 角 函 數(shù) 指 令 : SIN、 COS、 TAN 將 把 一 個(gè) 雙 字 長(zhǎng) ( 32位 ) 的 實(shí) 數(shù) 弧 度 值 IN分 別 取正 弦 、 余 弦 、 正 切 , 各 得 到 32位 的 實(shí) 數(shù) 結(jié) 果 OUT。 指 令 格 式 : SIN IN, OUT; COS IN, OUT; TAN IN, OUT 5.3.1 數(shù) 學(xué) 運(yùn) 算 指 令LD I0.0 /使 能 輸 入 端MOVR 3.14159, AC0 /3.14159AC0/R 180.0, AC0 /3.14159/180.0AC0*R 65.0, AC0 /65.0*AC0AC0TAN AC0, AC1 /TAN( AC0) AC1 /計(jì) 算 結(jié) 果 為 TAN( 65 ) =2.1445AC1/( AC1) 2.1445 程 序 實(shí) 例 : ( 求 65 的 正 切 值 ) 5.3.2 邏 輯 運(yùn) 算 指 令 邏 輯 運(yùn) 算 是 對(duì) 無(wú) 符 號(hào) 數(shù) 進(jìn) 行 的 邏 輯 處 理 , 主 要 包 括邏 輯 與 、 邏 輯 或 、 邏 輯 異 或 和 取 反 等 運(yùn) 算 指 令 。 按 操 作數(shù) 長(zhǎng) 度 可 分 為 字 節(jié) 、 字 和 雙 字 邏 輯 運(yùn) 算 。 IN1、 IN2、 OUT操 作 數(shù) 的 數(shù) 據(jù) 類 型 分 別 為 : B、 W、 DW。 邏 輯 運(yùn) 算 指 令 影 響 的 特 殊 存 儲(chǔ) 器 位 : SM1.0( 零 ) 。 使 能 流 輸 出 ENO斷 開(kāi) 的 出 錯(cuò) 條 件 : 0006( 間 接 尋址 ) ; SM4.3( 運(yùn) 行 時(shí) 間 ) 。 5.3.2 邏 輯 運(yùn) 算 指 令 1. 邏 輯 與 運(yùn) 算 指 令 ANDB, 字 節(jié) 邏 輯 與 指 令 。 使 能 輸 入 有 效 時(shí) , 把 兩 個(gè) 字 節(jié)的 邏 輯 數(shù) 按 位 求 與 , 得 到 一 個(gè) 字 節(jié) 長(zhǎng) 的 邏 輯 輸 出 結(jié) 果 OUT。ANDW, 字 邏 輯 與 指 令 。ANDD, 雙 字 邏 輯 與 指 令 。 指 令 格 式 : ANDB IN1, OUT; 5.3.2 邏 輯 運(yùn) 算 指 令 2. 邏 輯 或 運(yùn) 算 指 令 ORB, 字 節(jié) 邏 輯 或 指 令 。 使 能 輸 入 有 效 時(shí) , 把 兩 個(gè) 字 節(jié)的 邏 輯 數(shù) 按 位 求 或 , 得 到 一 個(gè) 字 節(jié) 長(zhǎng) 的 邏 輯 輸 出 結(jié) 果OUT。ORW, 字 邏 輯 或 指 令 。ORD, 雙 字 邏 輯 或 指 令 。 指 令 格 式 : ORB IN1, OUT; 5.3.2 邏 輯 運(yùn) 算 指 令 3. 邏 輯 異 或 運(yùn) 算 指 令 XORB, 字 節(jié) 邏 輯 異 或 指 令 。 使 能 輸 入 有 效 時(shí) , 把 兩 個(gè) 字節(jié) 的 邏 輯 數(shù) 按 位 求 異 或 , 得 到 一 個(gè) 字 節(jié) 長(zhǎng) 的 邏 輯 輸 出 結(jié) 果OUT。XORW, 字 邏 輯 異 或 指 令 。XORD, 雙 字 邏 輯 異 或 指 令 。 指 令 格 式 : XORB IN1, OUT; 5.3.2 邏 輯 運(yùn) 算 指 令 4. 取 反 指 令 INVB, 字 節(jié) 邏 輯 取 反 指 令 。 使 能 輸 入 有 效 時(shí) , 把 一 個(gè)字 節(jié) 的 邏 輯 數(shù) 按 位 求 反 , 得 到 一 個(gè) 字 節(jié) 長(zhǎng) 的 邏 輯 輸 出 結(jié)果 OUT。INVW, 字 邏 輯 取 反 指 令 。INVD, 雙 字 邏 輯 取 反 指 令 。 指 令 格 式 : INVB OUT; LD I0.0 /使 能 輸 入 端MOVB AC0, AC1 /AC0AC1ANDB 255, AC1 /AC1的 值 和 255作 相 與運(yùn) 算 , 即 實(shí) 現(xiàn) 了 AC0和 255相 與 的 運(yùn) 算 , 結(jié) 果放 到 AC1中 。LD I0.1 /使 能 輸 入 端MOVW LW10, LW30 /LW10LW30ORW LW20, LW30 /進(jìn) 行 或 運(yùn) 算 LD I0.2 /使 能 輸 入 端 MOVD VD100, VD120 /LD100LD120XORD VD110, VD120 /進(jìn) 行 異 或 運(yùn) 算 LD I0.3 /使 能 輸 入 端MOVW VW10, VW20 / VW10VW20INVW VW20 /進(jìn) 行 取 反 運(yùn) 算 IN2與 OUT公 用 一 個(gè) 地 址 5.3.4 轉(zhuǎn) 換 指 令 轉(zhuǎn) 換 指 令 是 指 對(duì) 操 作 數(shù) 的 類 型 進(jìn) 行 轉(zhuǎn) 換 , 包括 數(shù) 據(jù) 的 類 型 轉(zhuǎn) 換 、 碼 的 類 型 轉(zhuǎn) 換 以 及 數(shù) 據(jù) 和碼 之 間 的 類 型 轉(zhuǎn) 換 。 數(shù) 據(jù) 類 型 主 要 包 括 字 節(jié) 、 整 數(shù) 、 雙 整 數(shù) 、 實(shí)數(shù) , 不 同 性 質(zhì) 的 指 令 對(duì) 操 作 數(shù) 的 類 型 要 求 不同 , 類 型 轉(zhuǎn) 換 指 令 可 將 固 定 的 一 個(gè) 數(shù) 值 用 到 不同 類 型 要 求 的 指 令 , 而 不 必 對(duì) 數(shù) 據(jù) 進(jìn) 行 針 對(duì) 類型 的 重 新 裝 載 。 5.3.4 轉(zhuǎn) 換 指 令 使 能 輸 入 有 效 時(shí) , 將 二 進(jìn) 制 編 碼 的 十 進(jìn) 制 數(shù) 值 IN轉(zhuǎn) 換 成 整 數(shù) , 并 將 結(jié) 果 送 到 OUT輸 出 。 IN的 有 效 范 圍 是0至 9999。 指 令 格 式 : BCDI OUT 1. BCD碼 與 整 數(shù) 之 間 的 轉(zhuǎn) 換 指 令 ( 1) BCD碼 到 整 數(shù) : BCDI LD I1.0 /使 能 輸 入 端BCDI AC0 /AC0中 的 BCD碼 轉(zhuǎn) 換 為 整 數(shù)已 知 ( AC0) =1234, 程 序運(yùn) 行 后 : ( AC0) =04D2。 程 序 實(shí) 例 : 5.3.4 轉(zhuǎn) 換 指 令( 2) 整 數(shù) 到 BCD碼 : IBCD 指 令 格 式 : IBCD OUT 5.3.4 轉(zhuǎn) 換 指 令2. 字 節(jié) 與 字 整 數(shù) 之 間 的 轉(zhuǎn) 換 指 令 ( 1) 字 節(jié) 到 整 數(shù) : BTI 指 令 格 式 : BCDI OUT( 2) 整 數(shù) 到 字 節(jié) : ITB 指 令 格 式 : IBCD OUT 5.3.4 轉(zhuǎn) 換 指 令 3. 字 型 整 數(shù) 與 雙 字 整 數(shù) 之 間 的 轉(zhuǎn) 換 指 令( 1) 雙 整 數(shù) 到 整 數(shù) : DTI 使 能 輸 入 有 效 時(shí) , 將 雙 整 數(shù) 型 輸 入 數(shù) 據(jù) IN轉(zhuǎn) 換 成 整數(shù) 類 型 , 并 將 結(jié) 果 送 到 OUT輸 出 。 輸 入 數(shù) 據(jù) 超 出 整 數(shù) 范圍 則 產(chǎn) 生 溢 出 。 指 令 格 式 : DTI OUT( 2) 整 數(shù) 到 雙 整 數(shù) : ITD 指 令 格 式 : ITD OUT 5.3.4 轉(zhuǎn) 換 指 令 4. 雙 字 整 數(shù) 與 實(shí) 數(shù) 之 間 轉(zhuǎn) 的 換 指 令( 1) 實(shí) 數(shù) 到 雙 整 數(shù) : ROUND, TRUNC 使 能 輸 入 有 效 時(shí) , 將 實(shí) 數(shù) 型 輸 入 數(shù) 據(jù) IN轉(zhuǎn) 換 成 雙 整數(shù) 類 型 , 并 將 結(jié) 果 送 到 OUT輸 出 。 兩 條 指 令 的 區(qū) 別 是 :前 者 小 數(shù) 部 分 四 舍 五 入 , 而 后 者 小 數(shù) 部 分 直 接 舍 去 。 輸入 數(shù) 據(jù) 超 出 實(shí) 數(shù) 范 圍 則 產(chǎn) 生 溢 出 。 指 令 格 式 : ROUND IN, OUT TRUNC IN, OUT 5.3.4 轉(zhuǎn) 換 指 令( 2) 雙 整 數(shù) 到 實(shí) 數(shù) : DTR 指 令 格 式 : DTR IN, OUT 返 回 5.3.4 轉(zhuǎn) 換 指 令5. 編 碼 、 譯 碼 指 令( 1) 編 碼 指 令 : ENCO 使 能 輸 入 有 效 時(shí) , 將 字 型 輸 入 數(shù) 據(jù) IN中 值 為 1的 最低 有 效 位 的 位 號(hào) 編 碼 成 4位 二 進(jìn) 制 數(shù) , 輸 出 到 OUT所 指 定的 字 節(jié) 單 元 的 低 4位 。 即 用 半 個(gè) 字 節(jié) 來(lái) 對(duì) 一 個(gè) 字 型 數(shù) 據(jù)16位 中 的 1位 有 效 位 進(jìn) 行 編 碼 。 指 令 格 式 : ENCO IN, OUT 01001100 0010 5.3.4 轉(zhuǎn) 換 指 令( 2) 譯 碼 指 令 : DECO 使 能 輸 入 有 效 時(shí) , 根 據(jù) 字 節(jié) 型 輸 入 數(shù) 據(jù) IN的 低 4位 所 表 示 的 位 號(hào) 將 OUT所 指 定 的 字 單 元 的 對(duì) 應(yīng) 位 置 1,其 他 位 置 0。 即 對(duì) 半 個(gè) 字 節(jié) 的 編 碼 進(jìn) 行 譯 碼 來(lái) 選 擇 一 個(gè)字 型 數(shù) 據(jù) 16位 中 的 1位 。 指 令 格 式 : DECO IN, OUT 0010 00000100 5.3.4 轉(zhuǎn) 換 指 令 6. 段 碼 ( SEG) 指 令 SEG, 七 段 碼 指 令 。 使 能 輸 入 有 效 時(shí) , 將 字 節(jié) 型 輸入 數(shù) 據(jù) IN的 低 4位 有 效 數(shù) 字 ( 16 0 F) 轉(zhuǎn) 換 成 七 段 顯示 碼 , 并 將 其 輸 出 到 OUT所 指 定 的 字 節(jié) 單 元 。 指 令 格 式 : SEG IN, OUT 5.3.4 轉(zhuǎn) 換 指 令7. ASCII碼 與 十 六 進(jìn) 制 數(shù) 之 間 的 轉(zhuǎn) 換 指 令 ATH, ASCII碼 到 十 六 進(jìn) 制 數(shù) 指 令 。 使 能 輸 入 有 效 時(shí) ,將 從 IN開(kāi) 始 的 長(zhǎng) 度 為 LEN的 ASCII碼 轉(zhuǎn) 換 為 十 六 進(jìn) 制 數(shù) ,并 將 結(jié) 果 送 到 OUT開(kāi) 始 的 字 節(jié) 進(jìn) 行 輸 出 。 ASCII字 符 串 的最 大 長(zhǎng) 度 為 255字 符 。 指 令 格 式 : ATH IN, OUT, LEN HTA IN, OUT, LEN 5.3.4 轉(zhuǎn) 換 指 令 5.3.4 轉(zhuǎn) 換 指 令 8. 整 數(shù) 、 雙 字 整 數(shù) 、 實(shí) 數(shù) 轉(zhuǎn) 換 為 ASCII碼 指 令 ( 1) 整 數(shù) 到 ASCII碼 : ITA 使 能 輸 入 有 效 時(shí) , 將 輸 入 端 ( IN) 的 有 符 號(hào) 整 數(shù) 轉(zhuǎn)換 成 ASCII字 符 串 , 轉(zhuǎn) 換 結(jié) 果 存 入 以 OUT為 起 始 字 節(jié) 地 址的 8個(gè) 連 續(xù) 字 節(jié) 的 輸 出 緩 沖 區(qū) 中 。 指 令 格 式 操 作 數(shù) FMT指定 ASCII碼 字 符 串 中 分 隔 符 的 位 置 和 表 示 方 法 , 即 小 數(shù)點(diǎn) 右 側(cè) 的 轉(zhuǎn) 換 精 度 , 以 及 是 否 將 小 數(shù) 點(diǎn) 顯 示 為 逗 號(hào) 或 點(diǎn)號(hào) 。 5.3.4 轉(zhuǎn) 換 指 令 FMT占 用 一 個(gè) 字 節(jié) , 高 4位 必 須 為 0, 低 4位 用 cnnn表 示 , C位 指 定 整 數(shù) 和 小 數(shù) 之 間 的 分 隔 符 : C 1, 用 逗號(hào) 分 隔 , C 0, 用 小 數(shù) 點(diǎn) 分 隔 。 輸 出 緩 沖 器 中 小 數(shù) 點(diǎn) 右側(cè) 的 位 數(shù) 由 nnn域 指 定 , nnn域 的 有 效 范 圍 是 0 5。 指定 小 數(shù) 點(diǎn) 右 側(cè) 的 數(shù) 字 為 0會(huì) 使 顯 示 的 數(shù) 值 無(wú) 小 數(shù) 點(diǎn) 。 對(duì) 于大 于 5的 nnn數(shù) 值 為 非 法 格 式 , 此 時(shí) 無(wú) 輸 出 , 用 ASCII空格 填 充 輸 出 緩 沖 器 。 指 令 格 式 : ITA IN, OUT, FMT 5.3.4 轉(zhuǎn) 換 指 令( 2) 雙 整 數(shù) 到 ASCII碼 : DTA 使 能 輸 入 有 效 時(shí) , 將 輸 入 端 ( IN) 的 有 符 號(hào) 雙 整 數(shù)轉(zhuǎn) 換 成 ASCII字 符 串 , 轉(zhuǎn) 換 結(jié) 果 存 入 以 OUT為 起 始 字 節(jié) 地址 的 12個(gè) 連 續(xù) 字 節(jié) 的 輸 出 緩 沖 區(qū) 中 。 指 令 格 式 操 作 數(shù)FMT與 ITA指 令 的 FMT定 義 相 同 。 指 令 格 式 : DTA IN, OUT, FMT 5.3.4 轉(zhuǎn) 換 指 令 5.3.4 轉(zhuǎn) 換 指 令( 3) 實(shí) 數(shù) 到 ASCII碼 : RTA 使 能 輸 入 有 效 時(shí) , 將 輸 入 端 ( IN) 的 實(shí) 數(shù) 轉(zhuǎn) 換 成ASCII字 符 串 , 轉(zhuǎn) 換 結(jié) 果 存 入 以 OUT為 起 始 字 節(jié) 地 址 的3 15個(gè) 連 續(xù) 字 節(jié) 的 輸 出 緩 沖 區(qū) 中 。 FMT占 用 一 個(gè) 字 節(jié) ,高 4位 用 ssss表 示 , ssss區(qū) 的 值 指 定 輸 出 緩 沖 區(qū) 的 字 節(jié)數(shù) ( 3 15個(gè) 字 節(jié) ) , 0、 1或 2個(gè) 字 節(jié) 無(wú) 效 。 并 規(guī) 定 輸 出緩 沖 區(qū) 的 字 節(jié) 數(shù) 應(yīng) 大 于 輸 入 實(shí) 數(shù) 小 數(shù) 點(diǎn) 右 邊 的 位 數(shù) 。 低4位 的 定 義 與 ITA指 令 相 同 。 指 令 格 式 : RTA IN, OUT, FMT 5.3.4 轉(zhuǎn) 換 指 令 5.3.4 轉(zhuǎn) 換 指 令 5.3.5 表 功 能 指 令 1. 填 表 、 查 表 指 令 ( 1) 表 存 數(shù) 指 令 : ATT 指 令 格 式 : ATT DATA, TABLE 數(shù) 據(jù) 在 S7-200的 表 格 中 的 存 儲(chǔ) 形 式 見(jiàn) 下 表單 元 地 址 單 元 內(nèi) 容 說(shuō) 明VW200 0005 VW200為 表 格 的 首 地 址 , TL=5為 表 格 的 最 大 填 表 數(shù) VW202 0004 數(shù) 據(jù) EC=4( EC100) 為 該 表 中 的 實(shí) 際 填 表 數(shù)VW204 2345 數(shù) 據(jù) 0VW206 5678 數(shù) 據(jù) 1VW208 9876 數(shù) 據(jù) 2VW210 6543 數(shù) 據(jù) 3VW212 * 無(wú) 效 數(shù) 據(jù) 5.3.5 表 功 能 指 令程 序 實(shí) 例 : LD I0.0 /使 能 輸 入 端ATT VW100, VW200 /向 表 中 存 數(shù)操 作 數(shù) 地 址 填 表 前 填 表 后 注 釋DATA VW100 1234 1234 待 填 表 數(shù) 據(jù) TBL VW200 0005 0005 最 大 填 表 數(shù) TLVW202 0004 0004 最 大 填 表 數(shù) ECVW204 2345 2345 數(shù) 據(jù) 0VW206 5678 5678 數(shù) 據(jù) 1VW208 9876 9876 數(shù) 據(jù) 2VW210 6543 6543 數(shù) 據(jù) 3VW212 * 1234 將 VW100內(nèi) 容 填 入 表 中 5.3.5 表 功 能 指 令( 2) 表 查 找 指 令 : FND? 通 過(guò) 表 查 找 指 令 可 以 從 字 型 數(shù) 表 中 找 出 符 合 條 件 的數(shù) 據(jù) 所 在 的 表 中 數(shù) 據(jù) 編 號(hào) , 編 號(hào) 范 圍 是 0 99。在 梯 形 圖 中 有 4個(gè) 數(shù) 據(jù) 輸 入 端 : TBL表 格 的 首 地 址 , 用以 指 明 被 訪 問(wèn) 的 表 格 ; PTN是 用 來(lái) 描 述 查 表 條 件 的 進(jìn) 行比 較 的 數(shù) 據(jù) ; CMD是 比 較 運(yùn) 算 符 “ ? ” 的 編 碼 , 它 是 一個(gè) 1 4的 數(shù) 值 , 分 別 代 表 、 、 運(yùn) 算 符 ;INDX用 來(lái) 指 定 表 中 符 號(hào) 查 找 條 件 的 數(shù) 據(jù) 地 址 。 5.3.5 表 功 能 指 令在 語(yǔ) 句 表 中 運(yùn) 算 符 直 接 表 示 , 而 不 用 各 自 的 編 碼 。指 令 格 式 : FND= TBL, PTN, INDXFND TBL, PTN, INDXFND TBL, PTN, INDX 5.3.5 表 功 能 指 令 由 PTN和 CMD就 可 以 決 定 對(duì) 表 的 查 找 條 件 。 例 如 , PTN為 16 2555, CMD為 3, 則 查 找 條 件 為 “ 2555( 16進(jìn)制 ) ” 。 表 查 找 指 令 執(zhí) 行 之 前 , 應(yīng) 先 對(duì) INDX的 內(nèi) 容 清 0, 當(dāng) 使能 輸 入 有 效 時(shí) , 從 INDX開(kāi) 始 搜 索 表 TBL, 尋 找 符 合 由 PTN和 CMD所 決 定 的 條 件 的 數(shù) 據(jù) , 如 果 沒(méi) 有 發(fā) 現(xiàn) 符 合 條 件 的 數(shù)據(jù) , 則 INDX的 值 等 于 EC。 如 果 找 到 一 個(gè) 符 合 條 件 的 數(shù)據(jù) , 則 將 該 數(shù) 據(jù) 的 表 中 地 址 裝 入 INDX中 。 表 查 找 指 令 執(zhí) 行 完 成 , 找 到 一 個(gè) 符 合 條 件 的 數(shù) 據(jù) , 如果 想 繼 續(xù) 向 下 查 找 , 必 須 先 對(duì) INDX加 1, 以 重 新 激 活 表 查找 指 令 。 5.3.5 表 功 能 指 令2. 表 取 數(shù) 指 令 從 表 中 移 出 一 個(gè) 字 型 數(shù) 據(jù) 可 有 兩 種 方 式 : 先 進(jìn) 先 出 式和 后 進(jìn) 先 出 式 。 一 個(gè) 數(shù) 據(jù) 從 表 中 取 出 之 后 , 表 的 實(shí) 際 表數(shù) EC值 減 1。 兩 種 方 式 指 令 在 梯 形 圖 中 有 2個(gè) 數(shù) 據(jù) 端 : 輸入 端 TBL表 格 的 首 地 址 , 用 以 指 明 被 訪 問(wèn) 的 表 格 ; 輸 出 端DATA指 明 數(shù) 值 取 出 后 要 存 放 的 目 標(biāo) 單 元 。 如 果 指 令 試 圖 從 空 表 中 取 走 一 個(gè) 數(shù) 值 , 則 特 殊 標(biāo) 志 寄存 器 SM1.5置 位 。 表 取 數(shù) 指 令 影 響 的 特 殊 存 儲(chǔ) 器 位 : SM1.5( 表 空 ) 。 5.3.5 表 功 能 指 令( 1) 先 進(jìn) 先 出 指 令 : FIFO 當(dāng) 使 能 輸 入 有 效 時(shí) , 從 TBL指 明 的 表 中 移 出 第 一 個(gè) 字型 數(shù) 據(jù) 并 將 其 輸 出 到 DATA所 指 定 的 字 單 元 。FIFO表 取 數(shù) 時(shí) , 移 出 的 數(shù) 據(jù) 總 是 最 先 進(jìn) 入 表 中 的 數(shù) 據(jù) 。每 次 從 表 中 移 出 一 個(gè) 數(shù) 據(jù) , 剩 余 數(shù) 據(jù) 依 次 上 移 一 個(gè) 字單 元 位 置 , 同 時(shí) 實(shí) 際 填 表 數(shù) EC會(huì) 自 動(dòng) 減 1。指 令 格 式 : FIFO TABLE, DATA 5.3.5 表 功 能 指 令( 2) 后 進(jìn) 先 出 指 令 : LIFO當(dāng) 使 能 輸 入 有 效 時(shí) , 從 TBL指 明 的 表 中 移 出 最 后 一 個(gè)字 型 數(shù) 據(jù) 并 將 其 輸 出 到 DATA所 指 定 的 字 單 元 。LIFO表 取 數(shù) 時(shí) , 移 出 的 數(shù) 據(jù) 是 最 后 進(jìn) 入 表 中 的 數(shù) 據(jù) 。每 次 從 表 中 取 出 一 個(gè) 數(shù) 據(jù) , 剩 余 數(shù) 據(jù) 位 置 保 持 不 變 ,實(shí) 際 填 表 數(shù) EC會(huì) 自 動(dòng) 減 1。指 令 格 式 : LIFO TABLE, DATA 5.3.6 程 序 控 制 指 令1.有 條 件 結(jié) 束 指 令 END, 有 條 件 結(jié) 束 指 令 。 指 令 根 據(jù) 前 一 個(gè) 邏 輯 條 件 終止 主 用 戶 程 序 。 條 件 結(jié) 束 指 令 用 在 無(wú) 條 件 結(jié) 束 指 令( MEND) 之 前 , 用 戶 程 序 必 須 以 無(wú) 條 件 結(jié) 束 指 令 結(jié) 束主 程 序 。 您 可 以 在 主 程 序 中 使 用 有 條 件 結(jié) 束 指 令 , 但 不能 在 子 例 行 程 序 或 中 斷 例 行 程 序 中 使 用 。 STEP7-Micro/WIN32自 動(dòng) 在 主 用 戶 程 序 中 增 加 無(wú) 條 件結(jié) 束 指 令 ( MEND) 。 5.3.6 程 序 控 制 指 令2.暫 停 指 令 STOP, 暫 停 指 令 。 通 過(guò) 暫 停 指 令 可 將 S7-200 CPU從RUN( 運(yùn) 行 ) 模 式 轉(zhuǎn) 換 為 STOP( 暫 停 ) 模 式 , 中 止 程 序 執(zhí)行 。 如 果 在 中 斷 例 行 程 序 中 執(zhí) 行 STOP( 暫 停 ) 指 令 , 中斷 例 行 程 序 立 即 終 止 , 并 忽 略 全 部 待 執(zhí) 行 的 中 斷 , 繼 續(xù)掃 描 主 程 序 的 剩 余 部 分 。 在 當(dāng) 前 掃 描 結(jié) 束 時(shí) 從 RUN( 運(yùn) 行 )模 式 轉(zhuǎn) 換 至 STOP( 暫 停 ) 模 式 。 5.3.6 程 序 控 制 指 令3. 監(jiān) 視 定 時(shí) 器 復(fù) 位 指 令 WDR, 監(jiān) 視 定 時(shí) 器 復(fù) 位 指 令 。 指 令 重 新 觸 發(fā) S7-200 CPU的 系統(tǒng) 監(jiān) 視 程 序 定 時(shí) 器 ( WDT) , 擴(kuò) 展 掃 描 允 許 使 用 的 時(shí) 間 , 而 不 會(huì) 出現(xiàn) 監(jiān) 視 程 序 錯(cuò) 誤 。 WDR指 令 重 新 觸 發(fā) WDT定 時(shí) 器 , 可 以 增 加 一 次掃 描 時(shí) 間 。 為 了 保 證 系 統(tǒng) 可 靠 運(yùn) 行 , PLC內(nèi) 部 設(shè) 置 了 系 統(tǒng) 監(jiān) 視 定 時(shí) 器( WDT) , 用 于 監(jiān) 視 掃 描 周 期 是 否 超 時(shí) 。 每 當(dāng) 掃 描 到 WDT定 時(shí) 器時(shí) , WDT定 時(shí) 器 將 復(fù) 位 。 WDT定 時(shí) 器 有 一 設(shè) 定 值 ( 100-300ms) ,系 統(tǒng) 正 常 工 作 時(shí) , 所 需 掃 描 時(shí) 間 小 于 WDT的 設(shè) 定 值 , WDT定 時(shí) 器 及時(shí) 復(fù) 位 。 系 統(tǒng) 故 障 情 況 下 , 掃 描 時(shí) 間 大 于 WDT設(shè) 定 值 , 該 定 時(shí) 器 不能 及 時(shí) 復(fù) 位 , 則 報(bào) 警 并 停 止 CPU運(yùn) 行 , 同 時(shí) 復(fù) 位 輸 出 。 這 種 故 障 稱 為 WDT故 障 , 以 防 止 因 系 統(tǒng) 故 障 或 程 序 進(jìn) 入 死 循 環(huán) 而 引 起 的 掃 描 周期 過(guò) 長(zhǎng) 。 5.3.6 程 序 控 制 指 令 系 統(tǒng) 正 常 工 作 時(shí) , 有 時(shí) 會(huì) 因 為 用 戶 程 序 過(guò) 長(zhǎng) 或 使 用中 斷 指 令 、 循 環(huán) 指 令 使 掃 描 時(shí) 間 過(guò) 長(zhǎng) 而 超 過(guò) WDT定 時(shí) 器 的設(shè) 定 值 , 為 防 止 這 種 情 況 下 WDT動(dòng) 作 , 可 使 用 監(jiān) 視 定 時(shí) 器復(fù) 位 指 令 ( WDR) , 使 WDT定 時(shí) 器 復(fù) 位 。 5.3.6 程 序 控 制 指 令 4. 跳 轉(zhuǎn) 與 標(biāo) 號(hào) 指 令 跳 轉(zhuǎn) 指 令 可 以 使 PLC編 程 的 靈 活 性 大 大 提 高 , 使 主 機(jī)可 根 據(jù) 不 同 條 件 的 判 斷 , 選 擇 不 同 的 程 序 段 執(zhí) 行 程 序 。 JMP, 跳 轉(zhuǎn) 指 令 。 使 能 輸 入 有 效 時(shí) , 使 程 序 跳 轉(zhuǎn) 到 標(biāo)號(hào) ( n) 處 執(zhí) 行 。 LBL, 標(biāo) 號(hào) 指 令 。 標(biāo) 記 指 令 跳 轉(zhuǎn) 的 目 的 地 的 位 置 ( n) 。操 作 數(shù) n為 0 255。5.3.6 程 序 控 制 指 令 5.3.6 程 序 控 制 指 令 5.3.6 程 序 控 制 指 令跳 轉(zhuǎn) 指 令 的 使 用 說(shuō) 明 : 跳 轉(zhuǎn) 指 令 和 標(biāo) 號(hào) 指 令 必 須 配 合 使 用 , 而 且 只 能 使 用 在 同 一 程 序塊 中 。 不 能 在 不 同 的 程 序 塊 間 互 相 跳 轉(zhuǎn) ; 執(zhí) 行 跳 轉(zhuǎn) 后 , 被 跳 過(guò) 程 序 段 中 的 各 元 器 件 的 狀 態(tài) 各 有 不 同 : Q、M、 S、 C等 元 器 件 的 位 保 持 跳 轉(zhuǎn) 前 的 狀 態(tài) ; 計(jì) 數(shù) 器 C停 止 計(jì) 數(shù) , 當(dāng)前 值 存 儲(chǔ) 器 保 持 跳 轉(zhuǎn) 前 的 計(jì) 數(shù) 值 ; 對(duì) 定 時(shí) 器 來(lái) 說(shuō) , 因 刷 新 方 式 不 同而 工 作 狀 態(tài) 不 同 。 在 跳 轉(zhuǎn) 期 間 , 分 辯 率 為 1ms和 10ms的 定 時(shí) 器 會(huì)一 直 保 持 跳 轉(zhuǎn) 前 的 工 作 狀 態(tài) , 原 來(lái) 工 作 的 繼 續(xù) 工 作 , 到 設(shè) 定 值 后 其位 的 狀 態(tài) 也 會(huì) 改 變 , 輸 出 觸 點(diǎn) 動(dòng) 作 , 其 當(dāng) 前 值 存 儲(chǔ) 器 一 直 累 計(jì) 到 最大 值 32767才 停 止 。 對(duì) 分 辨 率 為 100ms的 定 時(shí) 器 來(lái) 說(shuō) , 跳 轉(zhuǎn) 期 間 停止 工 作 , 但 不 會(huì) 復(fù) 位 , 存 儲(chǔ) 器 里 的 值 為 跳 轉(zhuǎn) 時(shí) 的 值 , 跳 轉(zhuǎn) 結(jié) 束 后 , 若 輸 入 條 件 允 許 , 可 繼 續(xù) 計(jì) 時(shí) , 但 已 失 去 了 準(zhǔn) 確 計(jì) 時(shí) 的 意 義 。 所 以在 跳 轉(zhuǎn) 段 里 的 定 時(shí) 器 要 慎 用 。 5.3.6 程 序 控 制 指 令5. 循 環(huán) 指 令 循 環(huán) 指 令 的 引 入 為 解 決 重 復(fù) 執(zhí) 行 相 同 功 能 的 程 序 段提 供 了 極 大 方 便 , 并 且 優(yōu) 化 了 程 序 結(jié) 構(gòu) 。 FOR, 循 環(huán) 開(kāi) 始 指 令 。 用 來(lái) 標(biāo) 記 循 環(huán) 體 的 開(kāi) 始 。 NEXT, 循 環(huán) 結(jié) 束 指 令 。 用 來(lái) 標(biāo) 記 循 環(huán) 體 的 結(jié) 束 。 無(wú)操 作 數(shù) 。 FOR和 NEXT之 間 的 程 序 段 稱 為 循 環(huán) 體 , 每 執(zhí) 行 一 次循 環(huán) 體 , 當(dāng) 前 計(jì) 數(shù) 值 增 1, 并 且 將 其 結(jié) 果 同 終 值 進(jìn) 行 比較 , 如 果 大 于 終 值 , 則 終 止 循 環(huán) 。 5.3.6 程 序 控 制 指 令 在 使 用 時(shí) 必 須 給 FOR指 令 指 定 當(dāng) 前 循 環(huán) 計(jì) 數(shù) ( INDX) 、初 值 ( INIT) 和 終 值 ( FINAL) 。指 令 格 式 : FOR INDX, INIT, FINAL NEXT 5.3.6 程 序 控 制 指 令循 環(huán) 指 令