내가 이번 게임하면서 만든 범용 기차물류임
원래는 각 물자간 전용열차를 운용했는데
인터럽트는 복붙이안되서 일일히 스케쥴 세팅하는게 귀찮았기 때문에 [딸각]을 위해 만들었음
이 세팅은 다음과 같은 사이클을 가짐
빈 열차 대기역에서 대기 -> 상차역에서 상차 -> 하차역에서 하차 -> 빈 열차 대기역에서 대기
나는 기차가 하차장에서 대기하는게 기차를 하나 점유하고있기때문에 물동량에 비해 기차가 많이 필요하고 노선에 부담을 준다고 생각해서
모든 상하차역은 1대의 기차만을 허용함
빨강 전선으로 쏠거냐 초록 전선 으로 쏠거냐는 매우 중요하기 때문에 철저히 구분해야함
상/하차역 이름은 [아이템아이콘]상/하차 역 처럼 아이템 아이콘을 쓴 일정한 이름으로 통일해야함
그리고 아이콘을 청사진에 매개변수로 넣으면 설치는 딸각 한번에 끈남
반박하고 싶거나 오류가 있다면
당장 알려줘 나도 수정하게
문자열 저장한거 업데이트 (25/02/02)
https://factoriobin.com/post/0kucs9
1. 대기역 세팅
img 1-1. 빨강 신호 는 상차신호 : 상차역에 물량이 충분하여 기차에 물자를 준비가 되어있다는 신호임
img 1-2. 초록 신호 는 하차신호 : 하차역에 물량 필요하여 물자를 받을 준비가 되어있다는 신호임
오른쪽의 출력신호 세팅은 이 대기역에서 취급할 물자를 필터링하는 세팅. 해당 대기역은 유체대기역이고 출력에 표시 된 유체만 취급함.
다른 유체는 신호를 받아도 기차로 보내지않음.
유체, 비유체 구분을 위해서 필요한 구조
img 1-3. 빨강 신호 초록 신호 가 둘 다 1개 이상의 신호가 있어 상차 - 하차가 가능한 물자신호를 초록선으로 발차신호로 내보내는 구성임.
img. 1-4 대기역 전체구조
img. 1-5
대기역에서 동시 발차를 막기위해 각 대기역마다 틱 신호를 공급해서 신호를 지연시켜 보내야댐
틱제네레이터 또는 래치신호를 만들어 역으로 쏴줌
img. 1-6
각 역은 래치 신호의 일정 값을 신호가 되면 초록전선으로 들어온 발차신호를 기차에 보내게 됨
지금 스샷은 녹은 철을 발차신호로 받고 있음
여기서 각 래치신호 값의 사이는 5~10틱정도 꽤 텀을 두는걸 추천함 원래는 1~3틱이었는데 이정도 틱은 동시발차해버림 (오버부킹)
2. 상/하차역 세팅
img 2-1. 상차역 셋팅
상자에 물자량(버퍼량)을 읽어 빨강신호로 수량비교조합기로 보냄
기차역에서 이 상차역으로 향하는 기차숫자를 C신호로 읽어 초록신호로 수량비교조합기로 보냄
물자량이 일정량이상 (보통 기차에 가득채울 수량)이고 이 기차역에 향하는 기차가 없을때 상차신호를 빨강신호 를 레이더로 보냄
img 2-2~3. 배당기차 신호
이 신호는 상차역이 2개 이상일 때 필요함
상차역이 2개 하차역이 3개 있다고 가정할때 1개의 하차역만 물자를 요청했다고 가정할 때 상차가능역이 2개이므로 2개가 발차하게됨
그런데 1개는 붕떠버리게 됨 이를 막는 신호임
C신호를 읽어 이를 산술 연산 조합기로 -1를 곱해 마이너스 신호를 만들어 초록신호로 레이더로 보냄
그러면 하차역에서 나오는 초록신호와 합쳐지면서 없어지게 됨 하차역에 이미 기차가 배정되었음을 의미함
만약 하차역이 2개라면 하차신호가 1개남아있으므로 기차 1대가 추가로 배정되게 됨
img 2-4. 하차역 구성
img 2-5. 하차신호
물자량이 일정수량 이하면 하차요청신호를 초록신호로 레이더로 보냄
보통 만땅으로 (또는 설정한 물량) 가지고 온 물자를 전부 내릴 수 있는 여유 공간이 있을때 부르는 것을 추천함
또한 하차상자간 물량을 서로 균등하게 하차하도록 방법을 강구해야 스무스하게 돌아감
그게 싫다면 공장가동시간을 약간 손해보더라도 하차역 물자량이 0일때 부르면 됌
img 2-6. 기차배당신호
상차역에서 했다시피 이 하차요청에는 기차가 배당되어 만족되었음을 알리기 위해
기차역에서 C신호를 받아와서 이를 마이너스 1 신호로 변환해서 하차신호를 상쇄시킴
3. 기차 스케쥴 세팅
기차 스케쥴은 쉬움
골뱅이신호 (와일드 카드)신호는 발차신호를 받으면 해당 발차신호로 전부 바뀜
인터럽트는 간섭하지 못하도록 해야함 이 스케쥴을 전부 실행하고 연료를 충당하던 뭘하던 하게끔 만들어야 중간에 꼬이지 않음.
대기역에서 연료를 충전한다면 연료 인터럽트는 필요없음.
기본 정차할 대기역 그리드만 배정해주면 이 기차는 알아서 움직일거임
10시간 이상 굴려봤는데 잘 굴러감
보면 다 다른 물자를 담당하고 있음을 알 수 있음
이렇게 하면 그리드늘릴때 역을 설치만 하면 추가로 스케쥴 조정없이 알아서 해당물자를 날라옴 존나 편함
하차역에서 풀로드로 사용중이면 정류장 바로뒤에 기차가 하나 대기상태로 무한유지되야하는데 이걸로 그게 가능한진 모르겠넹
철광석이나 철판이라던가 이런걸 하차역에서 풀로드로 사용줄일때 얘기긴한데 이때 정류장에서 하차중인기차와 정류장뒤에 하차할 예정인기차 이게 계속해서 이어져야 물류가 계속 유지됨 이 세팅에서 이게 되나?
지금 생산팩(보라팩) 양산해서 분당 1200개씩 뽑아서 풀로드중인데 1대만으로도 끊임없이 돌아감 터보4줄분량 계속씀 기차배당신호는 C신호에 -1를 곱해서 마이너스를 만드는거니까 기차역허용기차대수를 늘리면 C신호가 2이상으로 늘어날테니 문제는 없을거지만 검증은 필요함
대기줄 만들고 기차역허용대수를 그만큼 늘려놓고 산술연산기로 초록신호를 2개,3개이렇게 쏘게하면 기차가 추가배당될거임
그건 풀로드가 아님 1대만으로 끊임없이 돌아간다는건 풀로드가 아니라는 뜻임. 애초에 철광석 초당 2880개를 사용중인 공장에서 (터보12줄분량임) 하차하고 뒤에 대기타던기차가 딱 도착해야 아슬하게 딱딱 맞게 돌아감 이 상태가 유지되려면 무조건 정류장뒤에 하차대기중인 기차가 있어야하고 기차역 허용대수를 늘리는건 상차역과 하차역의 거리나 갯수에따라 변수가 좀 있겠네
풀로드의 정의가 이상한데 풀로드는 그냥 공장이 안멈추면 되는거아님? 끊임없이 만들고 내보내고 1대만으로 풀로드 돌릴만큼만 소비량을 계획해서 그리드를 세우면 문제없지 기차 1대가 나르는 물량을 계산해서 (화물칸전체물량) 그것보다 적게 소모하게 하면 1대만으로 그 그리드 물량은 감당할 수 있음 이거는 이 글에서 다루려는 범용기차랑은 다른 주제인거강ㅌ음
극단적으로 기관차를 3중련 4중련 달고 화물칸을 20대이상 달아버리면 그것도 기차댓수는 1대로 친단말임
기차1대만으로는 공장이 멈춘다는거임 하차장 하나가 최대 버틸수있는 초당물류량이 2880~3840개임 근데 기차1대만 하차장에있고 정류장바로뒤에 하차하려는 기차가 없으면 기차가 하차장에 오기까지의 시간동안 공장가동이 멈춤
당연히 화물차 4개기준 기차
풀로드했을때 소비량이 초당 2880개 미만으로 그리드 설계하고 그리드를 늘리던가, 소비량에 맞춰 화물차를 늘리던가, 아니면 기차 대기소를 만들고 C신호를 2개 요청하게끔 만들면 되고(산술연산으로 곱해버리면됨) 방법은 많음 이 세팅은 하차장에서 대기하는 기차를 억제하는게 주 목적이라서 대기기차는 고려하지 않았음
LTN을 바닐라로 구현한건가? 대단하네
아 좋긴한데 파이에서는 쓰기힘들겟다
대학원생처럼 정리잘해놨다 개추 근데 역에서 최대 기차 대수를 1로 제한해도 동시발차문제가 생겨?
상차역이 2개이상일 경우 문제가 생김 하차역신호를 상쇄시키지않으면 상차역에서 하차역으로 가는 기차가 나오기전까지는 하차역에는 기차가 0대이기때문에 꼭 하차신호를 상쇄 시켜줘야댐
블루 프린트 주세용!
0eNrtXcuOG8cV/RWDy6BodNe7BrA3+YXsBGHAmWlLhDjkhOTIEYwBnFgI4iABkkVgLQLHASzECwcQHC+y8NdkaY3+IVVdfPSQXbyPsUZ+2YC6ptl9+tZ99L1VdVj8YHAyuWwu5uPp8vhkNns0OPpge2YxOLrX+TN9Nj6dTfPpxfjBdDRJ56aj82ZwNJiPxpPBlRiMp2fNbwZH9dV9MWimy/Fy3OQ72j+eHE8vz0+aebxArO9cLOO9Dx4uhy2EGFzMFvGu2TSBJyRlxODJ4EhJd3Ul9nDkBifBTIeL5eyiD8RtQMQg9mI5n02OT5qHo8fj2TxddDqen16Ol8fNdHQyac4GR8v5ZSM2p+MtZxvA98bzxfJ4TwUXo3lsLJv5sBrkpyyWo6S4Kv1xnj5
정성껏 설명해줬는데 난 블프로 보는게 더 이해가 잘될거 같아
위에 문자열 내보냈음
이게 발차신호를 틱에 따른 딜레이를 주는거 같은데, 나중에 기차가 많아지면 오버부킹될 위험이 있는거 아닌가??
아니면 걍 기차가 매우 많아져야 할 정도로 큰 베이스가 된다면 그냥 고전적인 방법이 효율적일수 있는건가
대기역 신호를 하나의 틱으로 관리해서 역에 각각 고유값을 주면 절대 오버부킹될 위험이 없음 만약 규모가 커져서 하나의 대기역으로 감당되지않는다면 틱신호도 레이더로 쏴서 고유값이 겹치지 않도록 하던가 물품 필터를 점점 줄여서 대기역 그리드당 한개의 물품만 취급하게하는걸로 바꾸던가 하면될것
경로없음 인터럽트는 없애는게 더 좋은거같음 적은 확률로 오버부킹이 될 수 도 있는데 그경우에 상차역에서 대기하고 있다가 하차신호 우선받고 나가게할수 있기떄문임
블프 복붙이 안되는데 글로만 봐서는 하차역은 "[아이템]하차" 역인거임? (x와일드) 아니면 그냥 "[와일드카드@]하차"역 임?
아이템 하차
한번 써보고픈데 문자열 잘못된거같음 블프 한번만 더 주실 수 있나여 ㅜㅜ
https://factoriobin.com/post/ldav8d
이거 써보셈
이 방부는 존나 똑똑하네.... - dc App
필요한거만 다시 골라서 넣은 설계도면집
https://factoriobin.com/post/0kucs9
이거 최근에 바뀐부분은 없지? 바로 써도 되나? - dc App
위에 본문에 있는청사진이 좀더 새거긴함
와 잘 되네 ㄳㄳㄳ
유체 대기역을 따로 만들어줘야 하나요? 대기역 수량 비교 조합기 출력란에 들어있는 아이템들 내가 원하는 유체로 바꿔주면 되나요