chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)格式轉(zhuǎn)換函數(shù)

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-01-04 10:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

字符串?dāng)?shù)據(jù)類型

定義(Definition)

串?dāng)?shù)據(jù)類型定義一個(gè)最長(zhǎng)254個(gè)字符的字符串。標(biāo)準(zhǔn)的區(qū)域保留有256個(gè)字符的字符串。內(nèi)存區(qū)域存貯254個(gè)字符和2個(gè)頭字節(jié)。

通過定義保存在串中的字符的最大數(shù)量,能夠減少字符串要求的內(nèi)存。一個(gè)空串,即沒有數(shù)據(jù)的串是最小的值。

簡(jiǎn)單表達(dá)式當(dāng)作在串中的字符的最大數(shù)量。串中允許所有ASCII代碼的字符,也能包含特殊字符,如控制字符和非打印字符。能夠用句法$hh鍵入,hh當(dāng)作用十六進(jìn)制表示和ASCII字符的值(如:‘$0D$0AText’)。

聲明字符串內(nèi)存空間時(shí),能夠定義能存貯在串中的最大字符數(shù)。如果不指定,則建立長(zhǎng)度為254的串。

例子(Example)

VAR
Text1: String [123];
Text2: String;
END_VAR

在變量"Text1"聲明中的常量"123"當(dāng)作在串中的最大字符數(shù)。對(duì)于變量"Text2",保留254字符的長(zhǎng)度。

初始化字符串(Initializing Character Strings)

串變量,同其他變量一樣,能夠用常量字符串在功能塊的參數(shù)聲明中初始化。初始化函數(shù)的參數(shù)則不可能。

如果初始的串短于聲明的最大長(zhǎng)度,多余字符不被初始化。當(dāng)在程序中處理變量時(shí),當(dāng)前占用的字符位置才作考慮。

子(Example)

x : STRING[7]:='Address';

如果要求串類型臨時(shí)變量,例如緩沖結(jié)果,在他們首次使用之前,總必須在變量聲明或賦值語(yǔ)句中用串常量初始化。

子(Example)

FUNCTION Test : STRING[45]
VAR_TEMP

x : STRING[45];
END_VAR
x := 'a';
x := concat (in1 := x, in2 := x);
Test := x;
END_FUNCTION

沒有初始化(語(yǔ)句)x := 'a';,函數(shù)返回錯(cuò)誤結(jié)果。

串操作函數(shù)

LEN

LEN函數(shù)(FC21)返回串的當(dāng)前長(zhǎng)度(有效字符個(gè)數(shù))。空串('')長(zhǎng)度為0。函數(shù)不報(bào)告錯(cuò)誤。

例 LEN (S:= 'XYZ' )

CONCAT

CONCAT函數(shù)將最多32個(gè)串變量合并為一個(gè)串。如果結(jié)果串比輸出參數(shù)的串要度,結(jié)果串將限定在最大長(zhǎng)度……

當(dāng)使用S7-SCL函數(shù)CONCAT時(shí),隱式地在“IEC函數(shù)”庫(kù)中調(diào)用FC2。

Example CONCAT (IN1:= 'Valve', IN2:= ' open')

DELETE

DELETE函數(shù)(FC 4)在一個(gè)串中從P指示的字符開始刪除L個(gè)字符。如果L和或P等于0,或者如果P大于輸入串的當(dāng)前長(zhǎng)度,返回輸入的串。如果L和P之和大于輸入串的長(zhǎng)度,則串刪除到結(jié)束位置。如果L和/或P是負(fù)數(shù),輸出一個(gè)空串。

Example: DELETE (IN:= 'Temperature ok', L:= 6, P:= 5)

REPLACE

REPLACE函數(shù)(FC31)用第二個(gè)串(IN2)置換第一個(gè)串中P指示的位置開始的L個(gè)字符。如果L=0,則返回第一個(gè)串。如果P為0或1,則從起始位置開始置換。如果P在第一個(gè)串長(zhǎng)度之外,第二個(gè)串接到第一個(gè)串之后。如果P和/或L是負(fù)數(shù),則返回空串。當(dāng)結(jié)果串長(zhǎng)于輸出參數(shù)指定的變量,則限定到最大長(zhǎng)度。

Example REPLACE (IN1:= 'Temperature', IN2:= ' high' L:= 6, P:= 5)

FIND

FIND函數(shù)(FC11)返回第二個(gè)串(IN2)在第一個(gè)串(IN1)中的位置。查找從左開始;報(bào)告首次出現(xiàn)的位置。如果第一個(gè)串中不包含第二個(gè)串,則返回0。此函數(shù)不報(bào)告錯(cuò)誤。

Example FIND (IN1:= 'Processingstation', IN2:='station')

串比較函數(shù)

使用S7-SCL比較函數(shù)=, <>, <, >, <=和>=能夠比較串。編譯器包括了自動(dòng)調(diào)用要求的函數(shù)。簡(jiǎn)單地列出下列函數(shù)提供全部的情況。

EQ_STRNG和NE_STRNG

EQ_STRNG (FC10)和NE_STRNG (FC29)函數(shù)比較兩個(gè)串格式的變量的內(nèi)容是否相等(FC10)或不相等(FC29),并返回比較結(jié)果。如果參數(shù)串S1與參數(shù)串S2相等(不相等),則返回信號(hào)狀態(tài)“1”的值。此函數(shù)不報(bào)告錯(cuò)誤。

GE_STRNG and LE_STRNG

GE_STRNG (FC13)和LE_STRNG (FC19)函數(shù)比較串格式的兩個(gè)變量大于(小于)或等于,并返回比較結(jié)果。如果參數(shù)串S1大于(小于)或等于參數(shù)串S2,則返回信號(hào)狀態(tài)“1”的值。從左開始用其ASCII代碼比較字符(如'a'大于'A')。第一個(gè)不同的字符決定了比較結(jié)果。如果較長(zhǎng)串的左邊部分與較短串相同,則認(rèn)為較長(zhǎng)串大。此函數(shù)不報(bào)告錯(cuò)誤。

GT_STRNG and LT_STRNG

GT_STRNG (FC15)和LT_STRNG (FC24)函數(shù)比較串格式的兩個(gè)變量大于(小于),并返回比較結(jié)果。如果參數(shù)串S1大于(小于)參數(shù)串S2,則返回信號(hào)狀態(tài)“1”的值。從左開始用其ASCII代碼比較字符(如'a'大于'A')。第一個(gè)不同的字符決定了比較結(jié)果。如果較長(zhǎng)串的左邊部分與較短串相同,則認(rèn)為較長(zhǎng)串大。此函數(shù)不報(bào)告錯(cuò)誤。

數(shù)據(jù)格式轉(zhuǎn)換函數(shù)

INT_TO_STRING和STRING_TO_INT

函數(shù)INT_TO_STRING和STRING_TO_INT將一個(gè)INT格式變量轉(zhuǎn)換為字符串或?qū)⒆址D(zhuǎn)換為INT變量。函數(shù)I_STRNG (FC16)和STRNG_I (FC38)被從提供的“IEC函數(shù)”庫(kù)中隱式地使用。串用一個(gè)前置符號(hào)表述。如果在返回參數(shù)指定的變量太短,則不進(jìn)行轉(zhuǎn)換。

DINT_TO_STRING和STRING_TO_DINT

函數(shù)DINT_TO_STRING和STRING_TO_DINT將一個(gè)DINT格式的變量轉(zhuǎn)換為字符串或字符串轉(zhuǎn)換為DINT變量。函數(shù)DI_STRNG (FC5)和STRNG_DI (FC37)被從提供的“IEC函數(shù)”庫(kù)中隱式地使用。串用一個(gè)前置符號(hào)表述。如果在返回參數(shù)指定的變量太短,則不進(jìn)行轉(zhuǎn)換。

REAL_TO_STRING and STRING_TO_REAL

函數(shù)REAL_TO_STRING和STRING_TO_REAL將一個(gè)實(shí)數(shù)格式的變量轉(zhuǎn)換為字符串或字符串轉(zhuǎn)換為實(shí)數(shù)變量。函數(shù)R_STRNG (FC30)和STRNG_R (FC39)被從提供的“IEC函數(shù)”庫(kù)中隱式地使用。串必須有下列格式:

?v.nnnnnnnE?xx (?= 符號(hào), v =小數(shù)點(diǎn)前的數(shù)字, n =小數(shù)點(diǎn)后的數(shù)字, x =指數(shù)數(shù)字)

如果串的長(zhǎng)度小于14,或其不是上述格式構(gòu)造,將不進(jìn)行轉(zhuǎn)換。

如果返回參數(shù)指定的變量太短或IN參數(shù)中包含一個(gè)無(wú)效浮點(diǎn)數(shù),沒有轉(zhuǎn)換。

SCL 字符串處理舉例:

將信息文本放到一塊(Putting together message texts)

//通過處理和存貯,將信息文本放到一塊。

////////////////////////////////////////////////////////////////////
//塊包含必要的信息文本和產(chǎn)生的最后20條信息
////////////////////////////////////////////////////////////////////

DATA_BLOCK Messagetexts

STRUCT
Index: int;
textbuffer: array [0..19] of string[34];
HW: array [1..5] of string[16]; // 5種不同設(shè)備
statuses: array [1..5] of string[12]; // 5種不同狀態(tài)
END_STRUCT
BEGIN
Index :=0;
HW[1] := 'Motor ';
HW[2] := 'Valve ';
HW[3] := 'Press ';
HW[4] := 'Weldingstation ';
HW[5] := 'Burner ';
Statuses[1] := ' problem';
Statuses[2] := ' started';
Statuses[3] := ' temperature';
Statuses[4] := ' repaired';
Statuses[5] := ' maintained';
END_DATA_BLOCK

////////////////////////////////////////////////////////////////////
//函數(shù)將信息廣西領(lǐng)先到一塊,并輸入到DB的信息文本中。信息文本存貯在一個(gè)環(huán)形緩沖區(qū)里。
//文本緩沖區(qū)的下一個(gè)空區(qū)索引也在DB信息文本內(nèi)并被函數(shù)修正。
////////////////////////////////////////////////////////////////////

FUNCTION Textgenerator : bool
VAR_INPUT
unit: int;// 設(shè)備文本(名稱)的索引
no: int;// 設(shè)備的ID號(hào)
status: int;
value: int;
END_VAR
VAR_TEMP
text : string[34];
i : int;
END_VAR
// 臨時(shí)變量的初始化
text := '';
Textgenerator := true;
Case unit of
1..5 : case status of
1..5 : text := concat( in1 := Messagetexts.HW[unit],
in2 := right(l:=2,in:=I_STRNG(no)));
text := concat( in1 := text,
in2 := Messagetexts.statuses[status]);
if value <> 0 then
text := concat( in1 := text,
in2 := I_STRNG(value));
end_if;
else Textgenerator := false;
end_case;
else Textgenerator := false;
end_case;
i := Messagetexts.index;
Messagetexts.textbuffer[i] := text;
Messagetexts.index := (i+1) mod 20;
END_FUNCTION

////////////////////////////////////////////////////////////////////
//函數(shù)在%M10.0邊沿觸發(fā)時(shí)被循環(huán)程序調(diào)用,如果參數(shù)改變了,則輸入一次信息。
////////////////////////////////////////////////////////////////////

Organization_block Cycle
Var_temp
Opsy_ifx : array [0..20] of byte;
error : BOOL;
End_var;

////////////////////////////////////////////////////////////////////
//下面的調(diào)用將信息"Motor 12 started"輸入DB信息文本的文本緩沖區(qū), %MW0為1,

//%IW2為12 及%MW2為2.
////////////////////////////////////////////////////////////////////

if %M10.0 <> %M10.1 then
error := Textgenerator (unit := word_to_int(%MW0),
no := word_to_int(%IW2),
status := word_to_int(%MW2),
value := 0);
%M10.1:=M10.0;
end_if;
end_organization_block


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67566
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    14190

原文標(biāo)題:數(shù)據(jù)格式轉(zhuǎn)換函數(shù)

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DSD1608:8通道增強(qiáng)型多格式Delta - Sigma數(shù)模轉(zhuǎn)換器的技術(shù)剖析與應(yīng)用指南

    的DSD1608作為一款8通道、增強(qiáng)型多格式的Delta - Sigma數(shù)模轉(zhuǎn)換器,支持DSD和PCM兩種音頻數(shù)據(jù)格式,為音頻系統(tǒng)設(shè)計(jì)帶來(lái)了更多的靈活性和高性能表現(xiàn)。本文將詳細(xì)介紹DSD1608的特性
    的頭像 發(fā)表于 02-04 09:45 ?237次閱讀

    DSD1793:24位、192kHz采樣音頻立體聲數(shù)模轉(zhuǎn)換器的深度解析

    Instruments)的DSD1793,一款24位、192kHz采樣的先進(jìn)分段音頻立體聲數(shù)模轉(zhuǎn)換器。 文件下載: dsd1793.pdf 一、DSD1793的核心特性 1. 數(shù)據(jù)格式支持 DSD1793支持
    的頭像 發(fā)表于 02-03 16:45 ?684次閱讀

    告別數(shù)據(jù)割裂!LMS軟硬一體平臺(tái)讓測(cè)試效率飆升

    你是否也曾在凌晨的實(shí)驗(yàn)室里,對(duì)著不兼容的軟件和硬件一籌莫展?數(shù)據(jù)格式轉(zhuǎn)換丟失精度,多系統(tǒng)協(xié)同手忙腳亂,測(cè)試周期一拖再拖……這些痛,我們懂。
    的頭像 發(fā)表于 01-22 17:48 ?1142次閱讀
    告別<b class='flag-5'>數(shù)據(jù)</b>割裂!LMS軟硬一體平臺(tái)讓測(cè)試效率飆升

    BLE 藍(lán)牙空中報(bào)文格式與解析(廣播包)

    BLE 廣播包數(shù)據(jù)格式解析說明 ...... 矜辰所致
    的頭像 發(fā)表于 01-04 17:28 ?1936次閱讀
    BLE 藍(lán)牙空中報(bào)文<b class='flag-5'>格式</b>與解析(廣播包)

    電能質(zhì)量在線監(jiān)測(cè)裝置的數(shù)據(jù)壓縮存儲(chǔ)功能支持的數(shù)據(jù)格式可以修改嗎?

    電能質(zhì)量在線監(jiān)測(cè)裝置的數(shù)據(jù)壓縮存儲(chǔ)功能支持的數(shù)據(jù)格式 部分可修改 ,具體取決于格式類型(數(shù)據(jù)文件格式 / 壓縮算法格式)與廠家設(shè)計(jì),核心結(jié)論
    的頭像 發(fā)表于 12-11 16:39 ?1104次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置的<b class='flag-5'>數(shù)據(jù)</b>壓縮存儲(chǔ)功能支持的<b class='flag-5'>數(shù)據(jù)格式</b>可以修改嗎?

    電能質(zhì)量在線監(jiān)測(cè)裝置支持哪些數(shù)據(jù)格式的離線查看?

    電能質(zhì)量在線監(jiān)測(cè)裝置支持的離線數(shù)據(jù)格式主要分為 標(biāo)準(zhǔn)格式 和 通用格式 兩大類,其中標(biāo)準(zhǔn)格式是行業(yè)主流,通用格式則方便日常
    的頭像 發(fā)表于 12-05 17:19 ?1316次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置支持哪些<b class='flag-5'>數(shù)據(jù)格式</b>的離線查看?

    pdf轉(zhuǎn)換成word文檔格式亂了

    df轉(zhuǎn)換成word文檔格式亂了 ? 將 pdf 轉(zhuǎn)為 word 是常見的操作,但很多人發(fā)現(xiàn)結(jié)果很亂,文字會(huì)移位,字體變化,表格斷裂,圖片偏離原位.這是因?yàn)?pdf 存儲(chǔ)的是最終的排版用于顯示或打印
    的頭像 發(fā)表于 11-22 10:04 ?1121次閱讀

    飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之格式化輸入

    格式化輸入用于從不同輸入源中獲取數(shù)據(jù)并根據(jù)格式化字符串format轉(zhuǎn)換為對(duì)應(yīng)的格式代碼并存儲(chǔ)在對(duì)應(yīng)的類型中。
    發(fā)表于 11-12 08:35

    電能表采用645協(xié)議抄表,為什么功率必須低于80kW?如何解決?

    79.9999kW 的功率上限并非技術(shù)瓶頸,而是 “數(shù)據(jù)格式 + 應(yīng)用場(chǎng)景” 雙重匹配的結(jié)果。
    的頭像 發(fā)表于 10-28 16:19 ?909次閱讀
    電能表采用645協(xié)議抄表,為什么功率必須低于80kW?如何解決?

    廣成科技藍(lán)牙轉(zhuǎn)CAN模塊的作用和應(yīng)用場(chǎng)景

    接收到藍(lán)牙設(shè)備發(fā)送的數(shù)據(jù)時(shí),會(huì)將其轉(zhuǎn)換為CAN總線數(shù)據(jù)格式,發(fā)送到CAN總線上,實(shí)現(xiàn)兩者之間的數(shù)據(jù)雙向轉(zhuǎn)換。
    的頭像 發(fā)表于 09-29 11:05 ?990次閱讀

    淺談電子工程師困惑多年的EDA行業(yè)的標(biāo)準(zhǔn)格式

    數(shù)據(jù)格式還是非常豐富的。比如*.dxf,*.step,*.prt,*.stl......格式特點(diǎn)STEP(.STP/.STEP)ISO標(biāo)準(zhǔn),支持精確幾何,裝配結(jié)
    的頭像 發(fā)表于 08-23 12:34 ?692次閱讀
    淺談電子工程師困惑多年的EDA行業(yè)的標(biāo)準(zhǔn)<b class='flag-5'>格式</b>

    如何使用 Arm Helium 進(jìn)行顏色格式轉(zhuǎn)換和功能驗(yàn)證?

    使用 Arm Helium 進(jìn)行顏色格式轉(zhuǎn)換和功能驗(yàn)證
    發(fā)表于 08-19 06:52

    可Pin?to?Pin替代CL-CS4344的國(guó)產(chǎn)立體聲數(shù)模轉(zhuǎn)換芯片-MS4344

    MS4344是一款立體聲數(shù)模轉(zhuǎn)換芯片,內(nèi)含插值濾波器、multi bit數(shù)模轉(zhuǎn)換器、輸出模擬濾波器。MS4344支持大部分的音頻數(shù)據(jù)格式。
    的頭像 發(fā)表于 05-09 09:22 ?810次閱讀
    可Pin?to?Pin替代CL-CS4344的國(guó)產(chǎn)立體聲數(shù)模<b class='flag-5'>轉(zhuǎn)換</b>芯片-MS4344

    LPC55S28修改音頻數(shù)據(jù)格式后USB Aduio類異常的原因?

    您好 NXP 前輩,我已經(jīng)更改了 LPC55S28 官方 SDK 上的 USB 音頻數(shù)據(jù)格式。 我的主要問題是修改音頻流格式類型描述符。 我的想法是將 USB Aduio 每個(gè)通道的數(shù)據(jù)字節(jié)數(shù)從 2
    發(fā)表于 03-20 07:33

    請(qǐng)問STM32H7B0RB UAC可以支持同時(shí)上傳8路mic數(shù)據(jù)和2路播放數(shù)據(jù)嗎?

    請(qǐng)問STM32H7B0RB UAC 可以支持同時(shí)上傳8路mic數(shù)據(jù)和2路播放數(shù)據(jù)嗎?數(shù)據(jù)格式為16KHz/16bit
    發(fā)表于 03-14 07:35