『壹』 simotion 的IO輸入如何配置使用編程
這部分細節使用方法比較繁瑣。化繁為簡後:
1.IO變數有映像區,來刷新數據。
2.映像區刷新頻率不同,與執行系統的中Task一致。以PIX.X的形式訪問。
3.地址區0-63已被預設為BackgroundTask的映像區,以%IX.X的形式訪問。
如果不清楚上面的話,這么做:
1.建議所有IO變數全部在ADDRESS LIST中定義,全部是PIX.X的形式定義IO變數,並分配映像區
2.在程序中調用IO變數即可。
3.如果想突破映像區刷新頻率限制,而直接訪問IO變數,使用格式_direct.IO_Var。不建議這么做
『貳』 ABB機器人smart組件中的IO信號如何在示教器上編程
首先在smart組件中有兩個信號是抓和放的,我們可以在示教器中用兩個輸出信號通過工作站邏輯中進行信號關聯,從而實現抓,放,絕對可以的,我有試過了
『叄』 io指的是什麼啊
io指的是輸入和輸出。
由於程序和運行時數據是在內存中駐留,由CPU這個超快的計算核心來執行,涉及到數據交換的地方,通常是磁碟、網路等就需要IO介面。IO編程中Stream(流)是一個很重要的概念,可以把流想像成一個水管,數據就是水管里的水,但是只能單向流動。
由於CPU和內存的速度遠遠高於外設的速度,所以在IO編程中,就存在速度嚴重不匹配的問題。舉個例子來說,比如要把100M的數據寫入磁碟,CPU輸出100M的數據只需要0.01秒,可是磁碟要接收這100M數據可能需要10秒。
Io的主要的優點
它是一個可以很快學會的語言因為他有一個簡單而且一致的語法、語義和API。由於Io的足跡小,所以它十分合適嵌入式編程。Io的另一個長處是它的速度。它能在性能上勝過很多其他解釋型語言,這讓他成為密集工作的一個理想選擇。
Io的另一個長處——從一個嵌入的角度來看是很有意思的——是你可以重新定義幾乎任何運行機制。Io語法中的任何東西都已經轉化成了消息,而消息是可以在運行時重新定義的。從這方面來看,實際上你就可以改變裡面任何東西來滿足你的需求。
『肆』 一個java的編程問題關於IO操作及異常處理,題目如下
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
System.out.println("請輸入一個整數");
File file =new File("D:\\2.txt");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int zs = 0 ;
try {
zs= in.nextInt();
} catch (Exception e) {
System.out.println("輸入有誤,吵前請輸入整數");
zs= in.nextInt();
}
try {
BufferedWriter output = new BufferedWriter(new FileWriter(file,true));
output.write(zs+"\r\n");
//output.write("\r\n");//換行
output.close();
} catch (Exception e) {
e.printStackTrace();
}
in.close();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
StringBuilder result = new StringBuilder();
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次讀一行
result.append(System.lineSeparator()+s.trim());
}
s = result.toString();
s.replaceAll("\r|\n", "#");
String [] ce = s.split("#");
Arrays.sort(ce);
File f = new File("D:\\", "3.txt");
if(f.exists())
f.delete();
if(!f.exists()){
file.createNewFile();
}
BufferedWriter output = null;
for (int i = 0; i < ce.length; i++) {
output = new BufferedWriter(new FileWriter(f,true));
output.write(ce[i]+"");
output.write("\升納清r\n");//換行
}
br.close();
output.close();
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("茄者保存成功");
}
『伍』 單片機編程-基本IO口與定時計數器
先要定義定時器如果使用定時器塵彎0如下:
12MHz晶振的蔽羨1ms延時:
Timer0 () interrupt 1
{
R0=0;
ET0=0;
TH0=0xfc;
TL0=0x18;
if(delayTimes1!=0) delayTimes1--;
TR0=1;
ET0=1;
}
要實現LED的派並悶變化很簡單的:
main()
{
if(first_run==0)
{
delayTimes1=2000;//兩秒延時初值
first_run=1;
}
if(delayTimes1==1500)//0.5秒到
{
P1=0xff;//全滅
}
if(delayTimes1==1000)//定時1秒到
{
P1=0x55;//亮一半滅一半
}
if(delayTimes1==500)//定時1.5秒到
{
P1=X;//X值隨你定不同的亮法,X不一樣
}
}
下面的別抄我餓
『陸』 有關IO流的JAVA編程,要求:把一個數組的元素復制到另個數組;去除重復元素不能用SET集合
以int數組為例
先對該數組排序,
因為是排序過的,相同的值會集中在一起
然後循環該數組,
對於每個值,第一次出現時保存到文件里,以後出現時無視
代碼如下
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// int型Sample數組
int[] testArr = { 8, 1, 2, 3, 4, 5, 4, 3, 2, 2, 5, 1, 2, 3, 4, 1, 2, 3,
5, 8 };
// 對該數組纖消排序
Arrays.sort(testArr);
try {
// 創建輸出文件
File outFile = new File("c://result.txt");
PrintWriter pf = new PrintWriter(outFile);
// 判斷值
int checkValue = 0;
// 循灶指環整個數組
for (int i = 0; i < testArr.length; i++) {
if (i == 0) {
// 把第一個值放到checkValue並保存到文件
checkValue = testArr[0];
pf.println(checkValue);
} else {
// 數組里的當前值毀辯知不等於checkValue
if (checkValue != testArr[i]) {
// 把當前值放到checkValue並保存到文件
checkValue = testArr[i];
pf.println(checkValue);
}
}
}
pf.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
『柒』 請教兩道java編程題,關於IO包的。
nio不能實現一行一行讀,只能一塊一塊讀或者一個字元一個字元讀。
代碼如下:
import java.io.*;
import java.nio.*;
import java.nio.channels.FileChannel;
public class Main
{
public static void main(String[] args)
{
Main t = new Main();
t.ReadFlieByLine_IO("E:\\123.txt");
t.ReadFileByLine_NIO("E:\\123.txt");
}
public void ReadFlieByLine_IO(String Filename)
{
File file = new File(Filename);
BufferedReader reader = null;
try
{
System.out.println("以行為單位讀取文件內容,一次讀一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
//一次讀入一行,直到讀入null為文件結束
while ((tempString = reader.readLine()) != null)
{ //顯示行號
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
}
catch (IOException e) {
e.printStackTrace();
}
/** finally {
if (reader != null){
try {
reader.close();
}
catch (IOException e1) {
}
}
}
*/
}
private void ReadFileByLine_NIO(String Filename)
{
FileInputStream file = null;
FileChannel reader = null;
try
{
file = new FileInputStream(Filename);
reader = file.getChannel();
String tempString = null;
ByteBuffer bb = ByteBuffer.allocate((int)reader.size());
reader.read(bb);
bb.flip();
String fileContent= new String(bb.array());
System.out.println(fileContent);
reader.close();
}
catch (IOException e) {
e.printStackTrace();
}
/** finally {
if (reader != null){
try {
reader.close();
}
catch (IOException e1) {
}
}
}
*/
}
}
『捌』 java io 編程報錯,大神給看下呢
劃線代碼多了一個分號,導致判斷失效,刪除分號就可以了
『玖』 c++網路編程中~~~究竟什麼是非同步IO 還有那個select函數是非同步IO
非同步文件如首IO也就是重疊IO。
在同步文件IO中,線程啟動一個IO操作然後就立即進入等待狀態,直到IO操作完成後才醒來繼續執行。而非同步文件IO方式中,線程發送一個IO請求到內核,然後繼續處理其他的事情,內核完成IO請求後,將會通知線程IO操作完成了。
如果IO請求需要大量時間執行的話,非同步文件IO方式可以顯著提高效率,因為在線程等待的這段時間內,CPU將會調度其他線程進行執行,如果沒有其他線程需要執行的話,這段時間將會浪費掉(可能會調度操作系統的零頁線程)。如果IO請求操作很快,用非同步IO方式反而還低效,還不如用同步IO方式。
同步IO在同一時刻只允許一個IO操作,也就是說對於同一個文件句柄的IO操作是序列化的,即使使用兩個線程也不能同時對同一個文件句柄同時發出讀寫操作。重疊IO允許一個或多個線程同時發出IO請求。
非同步IO在請求完成時,通過將文件句柄設為有信號狀態來通知應用程序,或者應用程序通過GetOverlappedResult察看IO請求是否完成,也可以通過一個事件對象來通知應用程序。
例如DeviceIoControl這個函數,他就可以通過參數指定是同步渣寬數或非同步,如果是同步的話,則該函數將會等待結果返回後,才執行下一條語句。如果是非同步的話,DeviceIoControl調用後馬上返回,如果參數正確,則回返回ERROR_IO_PENDING(忘了怎樣寫,不過肯定是有PENDING這個詞),然後你可以通過GetOverlappedResult獲取返回結果,是一個overlap結構,是在你調用DeviceIoControl的最後一個參數傳進去的``
簡單的說``同步在編程里,一般是指某個操作執行完後,才可以執行後面的操作``拿到IO上來說``就是我要做完這個IO操作``才繼續後面的操作```
非同步則是,我交帶了某個操作給系統(巧枝可以是windows,也可以是你自己的庫),我呆會過來拿,我現在要去忙別的``拿到IO上說``我交帶了某個IO操作給系統。。。。。
『拾』 Java關於io和多線程的編程題,求代碼
packageknow;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Scanner;
publicclassT20{
publicstaticvoidmain(String[]args)throwsIOException{
Scanners=newScanner(System.in);
Stringusername=null;
Stringpassword=null;
System.out.println("輸入用戶名:");
while(true){
if(username==null){
username=s.next();
System.out.println("輸入密碼:");
}else{
password=s.next();
}
if(password!=null){
s.close();
break;
}
}
BufferedReaderbr=null;
Map<String,String>map=newHashMap<String,String>();
try{
br=newBufferedReader(newInputStreamReader(newFileInputStream("d:/test.txt")));
Stringtemp=null;
while((temp=br.readLine())!=null){
String[]ss=temp.split("=");
map.put(ss[0],ss[1]);
}
}catch(IOExceptione){
throwe;
}finally{
if(br!=null)
br.close();
}
Stringu=map.get("userName");
Stringp=map.get("password");
if(u.equals(username)&&p.equals(password)){
System.out.println("登錄成功");
}else{
System.out.println("用戶名或密碼錯誤");
}
}
}
packageknow;
publicclassT21{
publicstaticvoidmain(String[]args)throwsInterruptedException{
String[]persons=newString[]{"甲","乙","丙","丁","午","己","庚","辛","壬","癸"};
for(inti=0;i<persons.length;i++){
System.out.println(persons[i]+"正在過山洞");
Thread.sleep(5000);
}
}
}
最後一個網路搜一個就行了,肯定比我畫的好