การสื่อสารผ่านพอร์ต RS485 ใช้คำสั่ง IVRD
Vložit
- čas přidán 7. 03. 2023
- ขอแก้ไขข้อผิดพลาด ดังนี้นะครับ
00:15:30 คำสั่ง MOV H20 D8129 เปลี่ยนเป็น MOV K20 D8129
00:16:06 คำสั่ง IVRW ผิดนะครับ ที่ถูกต้องคือคำสั่ง IVWR
00:24:12 คำสั่ง MOV H20 D8129 เปลี่ยนเป็น MOV K20 D8129
00:28:04 คำสั่ง MOV H20 D8129 เปลี่ยนเป็น MOV K20 D8129
00:30:31 คำสั่ง MOV H20 D8129 เปลี่ยนเป็น MOV K20 D8129
#### ขออภัยในความผิดพลาดด้วยนะครับ - Věda a technologie
огромное спасибо за уроки,хоть я диалога не понимаю,но интуитивно по видео.. все таки разобраться можно)).желаю побольше подписчиков и успехов в этом нелегком деле
Thank you, sir.
Спасибо огромное за обстоятельное объяснение. Всё четко и понятно без воды
Thank you, sir.
พี่สอนดีมากครับ
ขอบคุณครัย
ขอบคุณครับ
ยินดีครับ
Thank
ยินดีครับ
จั้ม Rs485 ไปใช้กับ อุปกรณ์ตัวอื่นที่ไม่ใช่ตัวเดียวกันได้ไหมครับ อาจารย์
ได้ครับแต่ต้องกำหนด lD ของอุปกรณ์ครับ
set rs485 plcเป็นของ fx3u จะต้อง set b13-15 ยังไงครับ ดูตารางไม่เข้าใจครับ อาจารย์
หมายถึง PLC Board ใช่ไหมครับ ถ้าใช่มันเป็นการเซตการเชื่อมต่อของ Protocol ครับ โดยผู้ผลิตได้ให้คำจำกัดความการเซต b15-b12 ดังนี้ครับ
0,0,0,0 คือ เมื่อต้องการให้ PLC Board เป็น slave เมื่อใช้ Mitsubishi FX2N protocol
0,1,0,0 คือ เมื่อต้องการให้ PLC Board เป็น slave เมื่อใช้ MODBUS RTU
1,0,0,0 คือ เมื่อต้องการให้ PLC Board เป็น Master เมื่อใช้ MODBUS RTU และต้องการใช้คำสั่ง IVRD, IVWR instruction
1,1,0,0 คือ เมื่อต้องการให้ PLC Board เป็นการสื่อสารแบบอิสระ และต้องการใช้คำสั่ง RS instruction, CCD check
หากหมายถึง PLC FX3U แท้ รบกวนเข้าไปดูในคลิปการสื่อสารผ่าน Modbus Protocol ที่ผมทำไว้ให้แล้วครับ
ขอบคุณอาจารย์ที่แบ่งปันครับความรู้ครับ❤❤❤❤
ยินดีครับ
ครับอาจารย์ผมจะสอบถามผมจะนำไปควบคุมโบเวอร์
สู้ๆครับ....ผมเป็นกำลังใจให้ครับ
ถ้าเรามี Temperature senor 3 ตัว เราหาค่าเฉลี่ยทำได้หรือไม่ครับ ทำอย่างไรครับอาจารย์ ขอบคุณครับ
ทำได้ครับ ใช้คำสี่ง mean หาดูในคลิปช่องผมครับ ชื่อว่า คำสั่ง mean ครับ ผมทำเป็นแนวทางให้ดูแล้วครับ
@@user-fu9ox6pb9h ปรึกษาครับ เนื่องจากผมซื้อมา 2 ตัว แต่ผมไม่เข้าใจการเขียนที่ให้มันสามารถดูค่าได้ 2 ตัวต้องเปลี่ยนแก้ไขตรงไหนครับ รวมถึงหากต้องการให้เป็นค่าทศนิยม ใช้คำสั่งอะไรครับ ขอบคุณครับ
ต้องตั้งค่า id ให้มันครับว่าจะให้ตัวไหนเป็น id1 หรือ id2 แล้วก็เขียนสเต็ปผลัดกันอ่านค่าออกมา...ส่วนต้องการเป็นเลขทศนิยม ต้องแปลงเป็น ทศนิยมแล้วหารเอาครับ เช่น หาร 10.000 เป็นต้น แต่หากไม่อยากแปลงเป็นทศนิยม ก็หาร 10 แล้วเอาค่าผลหารและเศษไปแสดง หรือง่ายสุดก็นำไปแสดงที่จอแสดงผลเลยครับ แล้วปรับเป็นทศนิยมที่ตัวจอแสดงผลครับ
อยากสอบถามครับ เราสามารถ ดึงค่า Float 32 จาก slave ผ่าน IVRD ได้ม่ยครับ
ถ้าเป็นพีแอลซีบอร์ด.....ผมไม่เคยทดลองใช้ 32 บิต นะครับ แต่เดาว่าน่าจะใช้ไม่ได้กับคำสั่งนี้ IVRD นะครับ ลองดูได้นะครับอย่าเชื่อในสิ่งที่ผมพูดครับ ลองทำดูด้วยตนเองครับ
@@user-fu9ox6pb9h ผมได้ลองแล้วครับ ซึ่งติดปัญหาดึงข้อมูลไม่ได้ครับ slave คือ power meter PM2230 Schneider กลdata Type Float 32 ครับ
ครับ...แสดงว่าเป็นไปตามที่คิดไว้ครับ....คือมันรับได้แค่ 16 บิต
ถ้าเป็น N4AIA04 เขียนคำสังอ่านค่ายังไงครับ ผมลองแล้วไม่ได้เลยครับ
คล้ายๆกันเนียละครับ....
อันดับแรกตรวจสอบก่อนเลยครับว่าตั้งค่าบอร์ดเรทถูกต้องเหมือนกับของพีแอลซีไหม ลำดับต่อไปตรวจสอบครับว่า N4AIA04 ใช้ ID ที่เท่าไร แล้วที่สำคัญมากๆเลยคือ คุณต้องการดึงค่าอะไรของ N4AIA04 หมายถึงจะทำอะไรกับมันครับ อ่านเป็นบิต หรืออ่านเป็นเวอร์ด ทุกอย่างที่ผมพูดมาทั้งหมดอยู่ในคู่มือของ N4AIA04 ต้องทำความเข้าใจเกี่ยวกับการสื่อสารก่อนครับ เมื่อเราเข้าใจแล้ว เราก็จะทำการควบคุมการสื่อสารของมันได้ครับ
คำถามผมคือ ท่านเข้าใจหลักการในการสื่อสารดีแล้วใชหรือไม่ ถ้าไม่ใช่แค่ต้องการทำตาม.....ก็ยากละครับ (เพราะไม่รู้จะเริ่มอะไรอย่างไรทำอย่างไรต่อ).... ก่อนอื่นทำความเข้าใจกับมันก่อนครับ
แต่ถ้าแค่อยากทดลองทำตามผมท่านก็ต้องไปเปิดเดต้าชีทตามที่ผมบอกครับ
อาจารย์ครับ หากใช้ slave 10 ถึง 20 ต้องเขียนยังไงบ้างครับ พอดี slave10 ใช้ H1004 ไม่ได้ครับ
ใช้เป็นเลขฐาน 16 ครับ
@@user-fu9ox6pb9h ขอบคุณครับ
ยินดีครับ
รบกวนสอบถามครับอาจารย์ ถ้าค่าที่เราไปอ่านมาผ่าน rs485 มีค่า 80000 เราจะเอาตัวแปรอะไรมารับใน plc หรอครับ ขอบคุณครับ
Data regidter ขนาด 32 bit ครับ ตัวไหนก็ได้ครับ
ใช้ ivrd อ่าน 2 แอดเดรส ยังไงหรอครับ ของผมอ่านมา แอดเดรสเดียว 😢
ต้องไปตั้งค่า id ให้อีกตัวเป็นตัวที่ 2 ครับ ทำผ่านโปรแกรม modbuspoll ครับ
แบบว่าเราอ่าน slave ตัวเดียว แต่อ่านมา 2 แอดเดรสครับอาจารย์ พอดีข้อมูลมันใหญ่ ใช้ 32 bit ครับ แต่ไม่รู้จะเขียน ivrd อย่างไรครับ😢
สวัสดีครับ
ลองทำตาม program แล้วอ่านค่าได้ 0 ทั้ง 2 address เลยครับ
ไม่ทราบว่าน่าจะเกิดจากสาเหตุใดได้บ้างครับ ?
ถ้ามันอ่านค่าได้ 0 แสดงว่ามันอ่านค่าไม่ได้เลยครับ มีหลายสาเหตุครับอาจจะต้องไล่ดูครับ เช่น ID ถูกต้องไหม บอร์ดเรท ตรงไหม พีแอลซีไม่น่าจะมีปัญหาครับเพราะเรากำหนดเองได้ทั้งหมด แต่อุปกรณ์ที่จะอ่านเราต้องตรวจสอบก่อนครับว่าถูกตั้งค่าไว้เป็น ID ที่เท่าไร และถูกกำหนดบอร์ดเรทไว้ที่เท่าไร ส่วนโปรแกรมที่ใช้ตรวจสอบก็มีหลายโปรแกรมเลยครับ เช่น Modbus Poll เป็นต้น ลองดูใหม่นะครับ
@@user-fu9ox6pb9h ลองปรับ baud rate ให้ต่ำลงเป็น 4800 อ่านค่าได้ที่ address 02 แต่ได้ค่าเป็นลบ ส่วน address 01 ยังอ่านได้ 0 เหมือนเดิม
เป็นไปได้ไหมว่า sensor จะพัง (แต่เพิ่งแกะกล่องเลยนะครับ ซื้อมา 2 ตัว)
หรือเป็นเพราะว่า sensor ไม่ถูกรุ่น (สติกเกอร์ที่ติดไว้ เป็น MD02 ไม่ใช่ XY-MD02)
ง่ายๆครับตรวจสอบว่าเสียหรือไม่เสีย จากซอฟแวร์ก่อนเลยครับ ส่วนเรื่องบอร์ดเรท ผมว่าไม่น่าจะใช่ประเด็นครับ ขอให้มันครงกันครับทั้งมาสเตอร์และสเลฟ ครับ
อาจารย์ครับ เราสามารถเอาค่า d0 หรือ d2 ไปใช้คำสั่งเปรียบเทียบเพื่อสั่งให้เอาต์พุต y ทำงานได้เลยมั้ยครับ
ได้เลยครับ....แต่ถ้าจะให้ดีก็อาจจะใช้คำสั่งทางคณิตศาสตร์มาช่วยในการแปลงข้อมูลก่อนนำไปเปรียบเทียบครับ อย่างเช่นในคลิป ค่าความชื้นอยู่ที่ 529 คือหากคิดเป็นเปอร์เซ็นต์คือ 52.9 % อาจจะต้องแปลงเลขก่อนครับ หากไม่แปลงก็ทำได้นะครับ เช่น ถ้าเราต้องการให้รดน้ำที่ความชื้นต่ำกว่า 35% เราก็ใช้คำสั่งเปรียบเทียบกับเลข 350 ได้เลยครับ
@@user-fu9ox6pb9h ขอบคุณมากครับอาจารย์
ยินดีครับ
@@user-fu9ox6pb9h อาจารย์ครับขอสอบถามนอกเรื่องนี้หน่อยครับ ถ้าเราจะตั้งเวลาโดยใช้การตั้งเวลาให้พัดลมทำงานหมุนขวา 2ชม.หมุนซ้าย2ชม.สลับไปตลอด ต้องใช้คำสั่งแบบไหนครับที่สั่งได้ทีละ2ชม.เลยมีมั้ยครับ ขอบคุณครับ
มีครับ ใช้พวก time Special register ได้เลยครับ หรือจะใช้คำสั่ง TRD ก็ได้ครับ มีในคลิปที่ผมแนะนำอยู่ครับ พิมพ์ว่าคำสั่ง TRD ครับ
อาจาร์ครับ มีช่องทางการติดต่อทาง line ไหมครับ
เดี๋ยวสร้างเสร็จแล้วจะแจ้งครับ หากเร่งด่วนติดต่อผ่านทางเมลล์ครับ
ขอเมลล์อาจาร์หน่อยครับ
dschaisamorn@gmail.com
Slave1 กับ slave2 ต่อร่วมกัน สลับกันอ่านค่าไม่ได้หรอครับอาจารย์
ได้ครับ.....แต่ต้องสั่งการโดย master นะครับ
@@user-fu9ox6pb9h ผมต่อตัวแรกวัดค่าอุณหภูมิ ความชื้นปกติ พอเอาตัวที่2 มาต่อร่วมกับตัวที่1 ตัวเลขวิ่งติดลบ เลขขึ้นไป5 หลักเลยครับ ผมเขียนคำสั่งที่อาจารย์เขียนเลยครับ
ไปตั้งค่าตัวที่สองให้เป็น ID 2 หรือยังครับ ตัวที่สองต้องตั้งไอดีให้เขาด้วยนะครับ ลองตรวจสอบดูครับว่า id เป็นตัสที่สองไหมครับ ใช้โปรแกรม modbus poll ตรวจดูก็ได้ครับ
@@user-fu9ox6pb9h เราsetตัวที่2ให้เป็น ID2 จากตรงไหนได้บ้างครับ ในคำสั่ง IVRD H2O4 ก็ไม่ได้ครับ
โปรแกรม modbus poll หรือ modscan ลองดูครับ
ผมอยากรู้ว่าเซนเซอร์ที่ส่งค่าเป็น float เราจะใช้ฟังชั่นอะไรในการอ่านคับ
ใช้คำสั่ง demov ในการย้ายค่าครับ
@@user-fu9ox6pb9h บรรทัดไหนที่เป็น mov ให้ใช้ dmov หมดเลยหรอคับ
@@user-fu9ox6pb9h ในช่องพี่มีวิดิโอสอนการไหมคับ
หมายถึงอะไรครับ...ลองศึกษาการใช้คำสั่ง mov/dmov ก่อนครับว่าต่างกันอย่างไร...หากเปลี่ยนมันก็อาจจะกินพื้นที่ได้ครับ
ช่องผมยังไม่มีการสอน demov ครับ ลองดาวน์โหลดคู่มือมาศึกษาดูครับ.....คู่มือหาได้จาก google ครับ
ขอบคุณครับ
ยินดีครับ